diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java index da47283..e7b841d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BenchmarkSuiteBase.java @@ -1,140 +1,140 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolverNamespace; -import com.azure.data.cosmos.serialization.hybridrow.layouts.SystemSchema; -import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; -import com.azure.data.cosmos.serialization.hybridrow.io.Segment; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.stream.Stream; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public class BenchmarkSuiteBase { - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - //ORIGINAL LINE: private protected const int InitialCapacity = 2 * 1024 * 1024; - protected static final int InitialCapacity = 2 * 1024 * 1024; - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - //ORIGINAL LINE: private protected LayoutResolverNamespace DefaultResolver = (LayoutResolverNamespace) - // SystemSchema.LayoutResolver; - protected LayoutResolverNamespace DefaultResolver = (LayoutResolverNamespace)SystemSchema.layoutResolver; - - // TODO: C# TO JAVA CONVERTER: Methods returning tuples are not converted by C# to Java Converter: - // private protected async Task<(List>, LayoutResolverNamespace)> - // LoadExpectedAsync(string expectedFile) - // { - // LayoutResolverNamespace resolver = this.DefaultResolver; - // List> expected = new List>(); - // using (Stream stm = new FileStream(expectedFile, FileMode.Open)) - // { - // // Read a RecordIO stream. - // MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase.InitialCapacity); - // Result r = await stm.ReadRecordIOAsync(record => - // { - // r = BenchmarkSuiteBase.LoadOneRow(record, resolver, out Dictionary - // rowValue); - // ResultAssert.IsSuccess(r); - // expected.Add(rowValue); - // return Result.Success; - // } - // , segment => - // { - // r = SegmentSerializer.Read(segment.Span, SystemSchema.LayoutResolver, out Segment s); - // ResultAssert.IsSuccess(r); - // Assert.IsNotNull(s.SDL); - // resolver = new LayoutResolverNamespace(Namespace.Parse(s.SDL), resolver); - // return Result.Success; - // } - // , resizer); - // - // ResultAssert.IsSuccess(r); - // } - // - // return (expected, resolver); - // } - - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - //ORIGINAL LINE: private protected static Result LoadOneRow(Memory buffer, LayoutResolver resolver, out - // Dictionary rowValue) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - protected static Result LoadOneRow(Memory buffer, LayoutResolver resolver, - Out> rowValue) { - RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver); - Reference tempReference_row = - new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - Reference tempReference_reader = - new Reference(reader); - Result tempVar = DiagnosticConverter.ReaderToDynamic(tempReference_reader, rowValue); - reader = tempReference_reader.get(); - return tempVar; - } - - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: private protected static async Task WriteAllRowsAsync(string file, string sdl, LayoutResolver - // resolver, Layout layout, List> rows) - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - protected static Task WriteAllRowsAsync(String file, String sdl, LayoutResolver resolver, Layout layout, - ArrayList> rows) { - try (Stream stm = new FileStream(file, FileMode.Truncate)) { - // Create a reusable, resizable buffer. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase - // .InitialCapacity); - MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase.InitialCapacity); - - // Write a RecordIO stream. - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'out' keyword - these are - // not converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: Result r = await stm.WriteRecordIOAsync(new Segment("HybridRow.Tests.Perf Expected - // Results", sdl), (long index, out ReadOnlyMemory body) => - Result r = await RecordIOStream.WriteRecordIOAsync(stm, - new Segment("HybridRow.Tests.Perf Expected Results", sdl), (long index, out ReadOnlyMemorybody) -> - { - body = null; - if (index >= rows.size()) { - return Result.SUCCESS; - } - - StreamingRowGenerator writer = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, - resolver, resizer); - - Result r2 = writer.WriteBuffer(rows.get((int)index)); - if (r2 != Result.SUCCESS) { - return r2; - } - - body = resizer.getMemory().Slice(0, writer.getLength()); - return Result.SUCCESS; - }); - - ResultAssert.IsSuccess(r); - } - } - - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - //ORIGINAL LINE: private protected static class ResultAssert - protected static class ResultAssert { - public static void IsSuccess(Result actual) { - assert actual == Result.SUCCESS || Result.SUCCESS == actual; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolverNamespace; +import com.azure.data.cosmos.serialization.hybridrow.layouts.SystemSchema; +import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; +import com.azure.data.cosmos.serialization.hybridrow.io.Segment; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.stream.Stream; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public class BenchmarkSuiteBase { + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + //ORIGINAL LINE: private protected const int InitialCapacity = 2 * 1024 * 1024; + protected static final int InitialCapacity = 2 * 1024 * 1024; + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + //ORIGINAL LINE: private protected LayoutResolverNamespace DefaultResolver = (LayoutResolverNamespace) + // SystemSchema.LayoutResolver; + protected LayoutResolverNamespace DefaultResolver = (LayoutResolverNamespace)SystemSchema.layoutResolver; + + // TODO: C# TO JAVA CONVERTER: Methods returning tuples are not converted by C# to Java Converter: + // private protected async Task<(List>, LayoutResolverNamespace)> + // LoadExpectedAsync(string expectedFile) + // { + // LayoutResolverNamespace resolver = this.DefaultResolver; + // List> expected = new List>(); + // using (Stream stm = new FileStream(expectedFile, FileMode.Open)) + // { + // // Read a RecordIO stream. + // MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase.InitialCapacity); + // Result r = await stm.ReadRecordIOAsync(record => + // { + // r = BenchmarkSuiteBase.LoadOneRow(record, resolver, out Dictionary + // rowValue); + // ResultAssert.IsSuccess(r); + // expected.Add(rowValue); + // return Result.Success; + // } + // , segment => + // { + // r = SegmentSerializer.Read(segment.Span, SystemSchema.LayoutResolver, out Segment s); + // ResultAssert.IsSuccess(r); + // Assert.IsNotNull(s.SDL); + // resolver = new LayoutResolverNamespace(Namespace.Parse(s.SDL), resolver); + // return Result.Success; + // } + // , resizer); + // + // ResultAssert.IsSuccess(r); + // } + // + // return (expected, resolver); + // } + + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + //ORIGINAL LINE: private protected static Result LoadOneRow(Memory buffer, LayoutResolver resolver, out + // Dictionary rowValue) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + protected static Result LoadOneRow(Memory buffer, LayoutResolver resolver, + Out> rowValue) { + RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver); + Reference tempReference_row = + new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + Reference tempReference_reader = + new Reference(reader); + Result tempVar = DiagnosticConverter.ReaderToDynamic(tempReference_reader, rowValue); + reader = tempReference_reader.get(); + return tempVar; + } + + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: private protected static async Task WriteAllRowsAsync(string file, string sdl, LayoutResolver + // resolver, Layout layout, List> rows) + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + protected static Task WriteAllRowsAsync(String file, String sdl, LayoutResolver resolver, Layout layout, + ArrayList> rows) { + try (Stream stm = new FileStream(file, FileMode.Truncate)) { + // Create a reusable, resizable buffer. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase + // .InitialCapacity); + MemorySpanResizer resizer = new MemorySpanResizer(BenchmarkSuiteBase.InitialCapacity); + + // Write a RecordIO stream. + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'out' keyword - these are + // not converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: Result r = await stm.WriteRecordIOAsync(new Segment("HybridRow.Tests.Perf Expected + // Results", sdl), (long index, out ReadOnlyMemory body) => + Result r = await RecordIOStream.WriteRecordIOAsync(stm, + new Segment("HybridRow.Tests.Perf Expected Results", sdl), (long index, out ReadOnlyMemorybody) -> + { + body = null; + if (index >= rows.size()) { + return Result.SUCCESS; + } + + StreamingRowGenerator writer = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, + resolver, resizer); + + Result r2 = writer.WriteBuffer(rows.get((int)index)); + if (r2 != Result.SUCCESS) { + return r2; + } + + body = resizer.getMemory().Slice(0, writer.getLength()); + return Result.SUCCESS; + }); + + ResultAssert.IsSuccess(r); + } + } + + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + //ORIGINAL LINE: private protected static class ResultAssert + protected static class ResultAssert { + public static void IsSuccess(Result actual) { + assert actual == Result.SUCCESS || Result.SUCCESS == actual; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java index a9cdf65..73d36f1 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonJsonModelRowGenerator.java @@ -1,130 +1,130 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import org.bson.BsonWriter; -import org.bson.BsonBinaryWriter -import java.io.Closeable; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; - -import static com.google.common.base.Strings.lenientFormat; - -public final class BsonJsonModelRowGenerator implements Closeable { - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream is - // input or output: - private MemoryStream stream; - private BsonWriter writer; - - public BsonJsonModelRowGenerator(int capacity) { - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream - // is input or output: - this.stream = new MemoryStream(capacity); - this.writer = new BsonBinaryWriter(this.stream); - } - - public int getLength() { - return (int)this.stream.Position; - } - - public void Reset() { - this.stream.SetLength(0); - this.stream.Position = 0; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ToArray() - public byte[] ToArray() { - return this.stream.ToArray(); - } - - public void WriteBuffer(HashMap dict) { - this.writer.writeStartDocument(); - for ((Utf8String propPath,Object propValue) : dict) - { - this.JsonModelSwitch(propPath, propValue); - } - - this.writer.writeEndDocument(); - } - - public void close() throws IOException { - this.writer.Dispose(); - this.stream.Dispose(); - } - - private void JsonModelSwitch(Utf8String path, Object value) { - if (path != null) { - this.writer.writeName(path.toString()); - } - - switch (value) { - case null: - this.writer.writeNull(); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case bool x: - case - boolean x: - this.writer.writeBoolean(x); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case long x: - case - long x: - this.writer.writeInt64(x); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case double x: - case - double x: - this.writer.writeDouble(x); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case string x: - case String - x: - this.writer.writeString(x); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case Utf8String x: - case Utf8String - x: - this.writer.writeString(x.toString()); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case byte[] x: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - case - byte[] x: - this.writer.writeBytes(x); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case Dictionary x: - case HashMap < Utf8String, Object > x: - this.writer.writeStartDocument(); - for ((Utf8String propPath,Object propValue) :x) - { - this.JsonModelSwitch(propPath, propValue); - } - - this.writer.writeEndDocument(); - return; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case List x: - case ArrayList < Object > x: - this.writer.writeStartArray(); - for (Object item : x) { - this.JsonModelSwitch(null, item); - } - - this.writer.writeEndArray(); - - return; - default: - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", value.getClass().getSimpleName())); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import org.bson.BsonWriter; +import org.bson.BsonBinaryWriter +import java.io.Closeable; +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; + +import static com.google.common.base.Strings.lenientFormat; + +public final class BsonJsonModelRowGenerator implements Closeable { + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream is + // input or output: + private MemoryStream stream; + private BsonWriter writer; + + public BsonJsonModelRowGenerator(int capacity) { + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream + // is input or output: + this.stream = new MemoryStream(capacity); + this.writer = new BsonBinaryWriter(this.stream); + } + + public int getLength() { + return (int)this.stream.Position; + } + + public void Reset() { + this.stream.SetLength(0); + this.stream.Position = 0; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ToArray() + public byte[] ToArray() { + return this.stream.ToArray(); + } + + public void WriteBuffer(HashMap dict) { + this.writer.writeStartDocument(); + for ((Utf8String propPath,Object propValue) : dict) + { + this.JsonModelSwitch(propPath, propValue); + } + + this.writer.writeEndDocument(); + } + + public void close() throws IOException { + this.writer.Dispose(); + this.stream.Dispose(); + } + + private void JsonModelSwitch(Utf8String path, Object value) { + if (path != null) { + this.writer.writeName(path.toString()); + } + + switch (value) { + case null: + this.writer.writeNull(); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case bool x: + case + boolean x: + this.writer.writeBoolean(x); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case long x: + case + long x: + this.writer.writeInt64(x); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case double x: + case + double x: + this.writer.writeDouble(x); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case string x: + case String + x: + this.writer.writeString(x); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case Utf8String x: + case Utf8String + x: + this.writer.writeString(x.toString()); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case byte[] x: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + case + byte[] x: + this.writer.writeBytes(x); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case Dictionary x: + case HashMap < Utf8String, Object > x: + this.writer.writeStartDocument(); + for ((Utf8String propPath,Object propValue) :x) + { + this.JsonModelSwitch(propPath, propValue); + } + + this.writer.writeEndDocument(); + return; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case List x: + case ArrayList < Object > x: + this.writer.writeStartArray(); + for (Object item : x) { + this.JsonModelSwitch(null, item); + } + + this.writer.writeEndArray(); + + return; + default: + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", value.getClass().getSimpleName())); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java similarity index 96% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java index c7aed9e..07332cf 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonReaderExtensions.java @@ -1,54 +1,54 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import MongoDB.Bson.*; -import MongoDB.Bson.IO.*; - -public final class BsonReaderExtensions { - public static void VisitBsonDocument(BsonReader bsonReader) { - bsonReader.ReadStartDocument(); - BsonType type; - while ((type = bsonReader.ReadBsonType()) != BsonType.EndOfDocument) { - String path = bsonReader.ReadName(); - switch (type) { - case BsonType.Array: - BsonReaderExtensions.VisitBsonArray(bsonReader); - break; - - case BsonType.Document: - BsonReaderExtensions.VisitBsonDocument(bsonReader); - break; - - default: - bsonReader.SkipValue(); - break; - } - } - - bsonReader.ReadEndDocument(); - } - - private static void VisitBsonArray(BsonReader bsonReader) { - bsonReader.ReadStartArray(); - BsonType type; - while ((type = bsonReader.ReadBsonType()) != BsonType.EndOfDocument) { - switch (type) { - case BsonType.Array: - BsonReaderExtensions.VisitBsonArray(bsonReader); - break; - - case BsonType.Document: - BsonReaderExtensions.VisitBsonDocument(bsonReader); - break; - - default: - bsonReader.SkipValue(); - break; - } - } - - bsonReader.ReadEndArray(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import MongoDB.Bson.*; +import MongoDB.Bson.IO.*; + +public final class BsonReaderExtensions { + public static void VisitBsonDocument(BsonReader bsonReader) { + bsonReader.ReadStartDocument(); + BsonType type; + while ((type = bsonReader.ReadBsonType()) != BsonType.EndOfDocument) { + String path = bsonReader.ReadName(); + switch (type) { + case BsonType.Array: + BsonReaderExtensions.VisitBsonArray(bsonReader); + break; + + case BsonType.Document: + BsonReaderExtensions.VisitBsonDocument(bsonReader); + break; + + default: + bsonReader.SkipValue(); + break; + } + } + + bsonReader.ReadEndDocument(); + } + + private static void VisitBsonArray(BsonReader bsonReader) { + bsonReader.ReadStartArray(); + BsonType type; + while ((type = bsonReader.ReadBsonType()) != BsonType.EndOfDocument) { + switch (type) { + case BsonType.Array: + BsonReaderExtensions.VisitBsonArray(bsonReader); + break; + + case BsonType.Document: + BsonReaderExtensions.VisitBsonDocument(bsonReader); + break; + + default: + bsonReader.SkipValue(); + break; + } + } + + bsonReader.ReadEndArray(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java index 9ec4853..0092278 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/BsonRowGenerator.java @@ -1,314 +1,314 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import MongoDB.Bson.*; -import MongoDB.Bson.IO.*; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; -import org.bson.BsonBinaryWriter; -import org.bson.BsonWriter; - -import java.io.Closeable; -import java.io.IOException; -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.UUID; - -import static com.google.common.base.Preconditions.checkArgument; -import static com.google.common.base.Strings.lenientFormat; - -public final class BsonRowGenerator implements Closeable { - private Layout layout; - private LayoutResolver resolver; - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream is - // input or output: - private MemoryStream stream; - private BsonWriter writer; - - public BsonRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream - // is input or output: - this.stream = new MemoryStream(capacity); - this.writer = new BsonBinaryWriter(this.stream); - this.layout = layout; - this.resolver = resolver; - } - - public int getLength() { - return (int)this.stream.Position; - } - - public void Reset() { - this.stream.SetLength(0); - this.stream.Position = 0; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ToArray() - public byte[] ToArray() { - return this.stream.ToArray(); - } - - public void WriteBuffer(HashMap dict) { - this.writer.writeStartDocument(); - for (LayoutColumn c : this.layout.columns()) { - this.LayoutCodeSwitch(c.path(), c.typeArg().clone(), dict.get(c.path())); - } - - this.writer.writeEndDocument(); - } - - public void close() throws IOException { - this.writer.Dispose(); - this.stream.Dispose(); - } - - private void DispatchArray(TypeArgument typeArg, Object value) { - - checkArgument(typeArg.typeArgs().count() == 1); - this.writer.writeStartArray(); - - for (Object item : (ArrayList)value) { - this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), item); - } - - this.writer.writeEndArray(); - } - - private void DispatchMap(TypeArgument typeArg, Object value) { - checkArgument(typeArg.typeArgs().count() == 2); - - this.writer.writeStartArray(); - for (Object item : (ArrayList)value) { - this.DispatchTuple(typeArg.clone(), item); - } - - this.writer.writeEndArray(); - } - - private void DispatchNullable(TypeArgument typeArg, Object value) { - checkArgument(typeArg.typeArgs().count() == 1); - - if (value != null) { - this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), value); - } else { - this.writer.writeNull(); - } - } - - private void DispatchObject(TypeArgument typeArg, Object value) { - this.writer.writeStartDocument(); - // TODO: support properties in an object scope. - this.writer.writeEndDocument(); - } - - private void DispatchSet(TypeArgument typeArg, Object value) { - checkArgument(typeArg.typeArgs().count() == 1); - - this.writer.WriteStartArray(); - for (Object item : (ArrayList)value) { - this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), item); - } - - this.writer.WriteEndArray(); - } - - private void DispatchTuple(TypeArgument typeArg, Object value) { - checkArgument(typeArg.typeArgs().count() >= 2); - ArrayList items = (ArrayList)value; - checkArgument(items.size() == typeArg.typeArgs().count()); - - this.writer.WriteStartArray(); - for (int i = 0; i < items.size(); i++) { - Object item = items.get(i); - this.LayoutCodeSwitch(null, typeArg.typeArgs().get(i).clone(), item); - } - - this.writer.WriteEndArray(); - } - - private void DispatchUDT(TypeArgument typeArg, Object value) { - this.writer.WriteStartDocument(); - - HashMap dict = (HashMap)value; - Layout udt = this.resolver.resolve(typeArg.typeArgs().schemaId().clone()); - for (LayoutColumn c : udt.columns()) { - this.LayoutCodeSwitch(c.path(), c.typeArg().clone(), dict.get(c.path())); - } - - this.writer.WriteEndDocument(); - } - - private void LayoutCodeSwitch(UtfAnyString path, TypeArgument typeArg, Object value) { - if (!path.IsNull) { - this.writer.WriteName(path); - } - - switch (typeArg.type().LayoutCode) { - case Null: - this.writer.WriteNull(); - return; - - case Boolean: - this.writer.WriteBoolean(value == null ? false : (Boolean)value); - return; - - case Int8: - this.writer.WriteInt32(value == null ? 0 : (byte)value); - return; - - case Int16: - this.writer.WriteInt32(value == null ? 0 : (Short)value); - return; - - case Int32: - this.writer.WriteInt32(value == null ? 0 : (Integer)value); - return; - - case Int64: - this.writer.WriteInt64(value == null ? 0 : (Long)value); - return; - - case UInt8: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(byte) : (byte)value); - this.writer.WriteInt32(value == null ? 0 : (Byte)value); - return; - - case UInt16: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(ushort) : (ushort)value); - this.writer.WriteInt32(value == null ? 0 : (short)value); - return; - - case UInt32: - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(int) : unchecked((int)(uint)value)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - this.writer.WriteInt32(value == null ? 0 : (int)(int)value); - return; - - case UInt64: - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.writer.WriteInt64(value == null ? default(long) : unchecked((long)(ulong)value)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - this.writer.WriteInt64(value == null ? 0 : (long)(long)value); - return; - - case VarInt: - this.writer.WriteInt64(value == null ? 0 : (Long)value); - return; - - case VarUInt: - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.writer.WriteInt64(value == null ? default(long) : unchecked((long)(ulong)value)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - this.writer.WriteInt64(value == null ? 0 : (long)(long)value); - return; - - case Float32: - this.writer.WriteDouble(value == null ? 0 : (Float)value); - return; - - case Float64: - this.writer.WriteDouble(value == null ? 0 : (Double)value); - return; - - case Float128: - Decimal128 d128 = null; - if (value != null) { - Float128 f128 = (Float128)value; - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: d128 = unchecked(Decimal128.FromIEEEBits((ulong)f128.High, (ulong)f128.Low)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - d128 = Decimal128.FromIEEEBits((long) f128.high(), (long) f128.low()); - } - - this.writer.WriteDecimal128(d128); - return; - - case Decimal: - this.writer.WriteDecimal128(value == null ? null : new Decimal128((BigDecimal)value)); - return; - - case DateTime: - this.writer.WriteDateTime(value == null ? 0 : ((LocalDateTime)value).getTime()); - return; - - case UnixDateTime: - this.writer.WriteDateTime(value == null ? 0 : ((UnixDateTime)value).getMilliseconds()); - return; - - case Guid: - this.writer.WriteString(value == null ? "" : ((UUID)value).toString()); - return; - - case MongoDbObjectId: - this.writer.WriteObjectId(value == null ? null : new ObjectId(((MongoDbObjectId)value).ToByteArray())); - return; - - case Utf8: - this.writer.WriteString(value == null ? "" : ((Utf8String)value).toString()); - return; - - case Binary: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.writer.WriteBytes(value == null ? default(byte[]) : (byte[])value); - this.writer.WriteBytes(value == null ? null : (byte[])value); - return; - - case ObjectScope: - case ImmutableObjectScope: - this.DispatchObject(typeArg.clone(), value); - return; - - case TypedArrayScope: - case ImmutableTypedArrayScope: - this.DispatchArray(typeArg.clone(), value); - return; - - case TypedSetScope: - case ImmutableTypedSetScope: - this.DispatchSet(typeArg.clone(), value); - return; - - case TypedMapScope: - case ImmutableTypedMapScope: - this.DispatchMap(typeArg.clone(), value); - return; - - case TupleScope: - case ImmutableTupleScope: - case TypedTupleScope: - case ImmutableTypedTupleScope: - case TaggedScope: - case ImmutableTaggedScope: - case Tagged2Scope: - case ImmutableTagged2Scope: - this.DispatchTuple(typeArg.clone(), value); - return; - - case NullableScope: - case ImmutableNullableScope: - this.DispatchNullable(typeArg.clone(), value); - return; - - case Schema: - case ImmutableSchema: - this.DispatchUDT(typeArg.clone(), value); - return; - - default: - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", typeArg.clone())); - return; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import MongoDB.Bson.*; +import MongoDB.Bson.IO.*; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; +import org.bson.BsonBinaryWriter; +import org.bson.BsonWriter; + +import java.io.Closeable; +import java.io.IOException; +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.UUID; + +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Strings.lenientFormat; + +public final class BsonRowGenerator implements Closeable { + private Layout layout; + private LayoutResolver resolver; + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream is + // input or output: + private MemoryStream stream; + private BsonWriter writer; + + public BsonRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.MemoryStream + // is input or output: + this.stream = new MemoryStream(capacity); + this.writer = new BsonBinaryWriter(this.stream); + this.layout = layout; + this.resolver = resolver; + } + + public int getLength() { + return (int)this.stream.Position; + } + + public void Reset() { + this.stream.SetLength(0); + this.stream.Position = 0; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ToArray() + public byte[] ToArray() { + return this.stream.ToArray(); + } + + public void WriteBuffer(HashMap dict) { + this.writer.writeStartDocument(); + for (LayoutColumn c : this.layout.columns()) { + this.LayoutCodeSwitch(c.path(), c.typeArg().clone(), dict.get(c.path())); + } + + this.writer.writeEndDocument(); + } + + public void close() throws IOException { + this.writer.Dispose(); + this.stream.Dispose(); + } + + private void DispatchArray(TypeArgument typeArg, Object value) { + + checkArgument(typeArg.typeArgs().count() == 1); + this.writer.writeStartArray(); + + for (Object item : (ArrayList)value) { + this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), item); + } + + this.writer.writeEndArray(); + } + + private void DispatchMap(TypeArgument typeArg, Object value) { + checkArgument(typeArg.typeArgs().count() == 2); + + this.writer.writeStartArray(); + for (Object item : (ArrayList)value) { + this.DispatchTuple(typeArg.clone(), item); + } + + this.writer.writeEndArray(); + } + + private void DispatchNullable(TypeArgument typeArg, Object value) { + checkArgument(typeArg.typeArgs().count() == 1); + + if (value != null) { + this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), value); + } else { + this.writer.writeNull(); + } + } + + private void DispatchObject(TypeArgument typeArg, Object value) { + this.writer.writeStartDocument(); + // TODO: support properties in an object scope. + this.writer.writeEndDocument(); + } + + private void DispatchSet(TypeArgument typeArg, Object value) { + checkArgument(typeArg.typeArgs().count() == 1); + + this.writer.WriteStartArray(); + for (Object item : (ArrayList)value) { + this.LayoutCodeSwitch(null, typeArg.typeArgs().get(0).clone(), item); + } + + this.writer.WriteEndArray(); + } + + private void DispatchTuple(TypeArgument typeArg, Object value) { + checkArgument(typeArg.typeArgs().count() >= 2); + ArrayList items = (ArrayList)value; + checkArgument(items.size() == typeArg.typeArgs().count()); + + this.writer.WriteStartArray(); + for (int i = 0; i < items.size(); i++) { + Object item = items.get(i); + this.LayoutCodeSwitch(null, typeArg.typeArgs().get(i).clone(), item); + } + + this.writer.WriteEndArray(); + } + + private void DispatchUDT(TypeArgument typeArg, Object value) { + this.writer.WriteStartDocument(); + + HashMap dict = (HashMap)value; + Layout udt = this.resolver.resolve(typeArg.typeArgs().schemaId().clone()); + for (LayoutColumn c : udt.columns()) { + this.LayoutCodeSwitch(c.path(), c.typeArg().clone(), dict.get(c.path())); + } + + this.writer.WriteEndDocument(); + } + + private void LayoutCodeSwitch(UtfAnyString path, TypeArgument typeArg, Object value) { + if (!path.IsNull) { + this.writer.WriteName(path); + } + + switch (typeArg.type().LayoutCode) { + case Null: + this.writer.WriteNull(); + return; + + case Boolean: + this.writer.WriteBoolean(value == null ? false : (Boolean)value); + return; + + case Int8: + this.writer.WriteInt32(value == null ? 0 : (byte)value); + return; + + case Int16: + this.writer.WriteInt32(value == null ? 0 : (Short)value); + return; + + case Int32: + this.writer.WriteInt32(value == null ? 0 : (Integer)value); + return; + + case Int64: + this.writer.WriteInt64(value == null ? 0 : (Long)value); + return; + + case UInt8: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(byte) : (byte)value); + this.writer.WriteInt32(value == null ? 0 : (Byte)value); + return; + + case UInt16: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(ushort) : (ushort)value); + this.writer.WriteInt32(value == null ? 0 : (short)value); + return; + + case UInt32: + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.writer.WriteInt32(value == null ? default(int) : unchecked((int)(uint)value)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + this.writer.WriteInt32(value == null ? 0 : (int)(int)value); + return; + + case UInt64: + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.writer.WriteInt64(value == null ? default(long) : unchecked((long)(ulong)value)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + this.writer.WriteInt64(value == null ? 0 : (long)(long)value); + return; + + case VarInt: + this.writer.WriteInt64(value == null ? 0 : (Long)value); + return; + + case VarUInt: + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.writer.WriteInt64(value == null ? default(long) : unchecked((long)(ulong)value)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + this.writer.WriteInt64(value == null ? 0 : (long)(long)value); + return; + + case Float32: + this.writer.WriteDouble(value == null ? 0 : (Float)value); + return; + + case Float64: + this.writer.WriteDouble(value == null ? 0 : (Double)value); + return; + + case Float128: + Decimal128 d128 = null; + if (value != null) { + Float128 f128 = (Float128)value; + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: d128 = unchecked(Decimal128.FromIEEEBits((ulong)f128.High, (ulong)f128.Low)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + d128 = Decimal128.FromIEEEBits((long) f128.high(), (long) f128.low()); + } + + this.writer.WriteDecimal128(d128); + return; + + case Decimal: + this.writer.WriteDecimal128(value == null ? null : new Decimal128((BigDecimal)value)); + return; + + case DateTime: + this.writer.WriteDateTime(value == null ? 0 : ((LocalDateTime)value).getTime()); + return; + + case UnixDateTime: + this.writer.WriteDateTime(value == null ? 0 : ((UnixDateTime)value).getMilliseconds()); + return; + + case Guid: + this.writer.WriteString(value == null ? "" : ((UUID)value).toString()); + return; + + case MongoDbObjectId: + this.writer.WriteObjectId(value == null ? null : new ObjectId(((MongoDbObjectId)value).ToByteArray())); + return; + + case Utf8: + this.writer.WriteString(value == null ? "" : ((Utf8String)value).toString()); + return; + + case Binary: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.writer.WriteBytes(value == null ? default(byte[]) : (byte[])value); + this.writer.WriteBytes(value == null ? null : (byte[])value); + return; + + case ObjectScope: + case ImmutableObjectScope: + this.DispatchObject(typeArg.clone(), value); + return; + + case TypedArrayScope: + case ImmutableTypedArrayScope: + this.DispatchArray(typeArg.clone(), value); + return; + + case TypedSetScope: + case ImmutableTypedSetScope: + this.DispatchSet(typeArg.clone(), value); + return; + + case TypedMapScope: + case ImmutableTypedMapScope: + this.DispatchMap(typeArg.clone(), value); + return; + + case TupleScope: + case ImmutableTupleScope: + case TypedTupleScope: + case ImmutableTypedTupleScope: + case TaggedScope: + case ImmutableTaggedScope: + case Tagged2Scope: + case ImmutableTagged2Scope: + this.DispatchTuple(typeArg.clone(), value); + return; + + case NullableScope: + case ImmutableNullableScope: + this.DispatchNullable(typeArg.clone(), value); + return; + + case Schema: + case ImmutableSchema: + this.DispatchUDT(typeArg.clone(), value); + return; + + default: + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", typeArg.clone())); + return; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java index 1ec83cd..3cb402e 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenMicroBenchmarkSuite.java @@ -1,311 +1,311 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Result; - -import java.util.ArrayList; -import java.util.HashMap; - -/** - * Tests involving generated (early bound) code compiled from schema based on a partial implementation - * of Cassandra Hotel Schema described here: https: //www.oreilly.com/ideas/cassandra-data-modeling . - *

- * The tests here differ from {@link SchematizedMicroBenchmarkSuite} in that they rely on - * the schema being known at compile time instead of runtime. This allows code to be generated that - * directly addresses the schema structure instead of dynamically discovering schema structure at - * runtime. - *

- */ -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public sealed class CodeGenMicroBenchmarkSuite : MicroBenchmarkSuiteBase -public final class CodeGenMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { - private static final int GuestCount = 1000; - private static final int HotelCount = 10000; - private static final int RoomsCount = 10000; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task CodeGenGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task CodeGenGuestsReadBenchmarkAsync() - public Task CodeGenGuestsReadBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Guests", "Guests", - CodeGenMicroBenchmarkSuite.GuestCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task CodeGenGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task CodeGenGuestsWriteBenchmarkAsync() - public Task CodeGenGuestsWriteBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Guests", "Guests", - CodeGenMicroBenchmarkSuite.GuestCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task CodeGenHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task CodeGenHotelReadBenchmarkAsync() - public Task CodeGenHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Hotels", "Hotels", - CodeGenMicroBenchmarkSuite.HotelCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task CodeGenHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task CodeGenHotelWriteBenchmarkAsync() - public Task CodeGenHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Hotels", "Hotels", - CodeGenMicroBenchmarkSuite.HotelCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task CodeGenRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task CodeGenRoomsReadBenchmarkAsync() - public Task CodeGenRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", - CodeGenMicroBenchmarkSuite.RoomsCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task CodeGenRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task CodeGenRoomsWriteBenchmarkAsync() - public Task CodeGenRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", - CodeGenMicroBenchmarkSuite.RoomsCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task ProtobufGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task ProtobufGuestsReadBenchmarkAsync() - public Task ProtobufGuestsReadBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Guests", "Guests", CodeGenMicroBenchmarkSuite.GuestCount, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task ProtobufGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task ProtobufGuestsWriteBenchmarkAsync() - public Task ProtobufGuestsWriteBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Guests", "Guests", CodeGenMicroBenchmarkSuite.GuestCount, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task ProtobufHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task ProtobufHotelReadBenchmarkAsync() - public Task ProtobufHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Hotels", "Hotels", CodeGenMicroBenchmarkSuite.HotelCount, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task ProtobufHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task ProtobufHotelWriteBenchmarkAsync() - public Task ProtobufHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Hotels", "Hotels", CodeGenMicroBenchmarkSuite.HotelCount, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task ProtobufRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task ProtobufRoomsReadBenchmarkAsync() - public Task ProtobufRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Available_Rooms_By_Hotel_Date", "Rooms", - CodeGenMicroBenchmarkSuite.RoomsCount, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task ProtobufRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task ProtobufRoomsWriteBenchmarkAsync() - public Task ProtobufRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Available_Rooms_By_Hotel_Date", "Rooms", - CodeGenMicroBenchmarkSuite.RoomsCount, expected); - } - - private static void CodeGenReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, - int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.CodeGenWriter = new CodeGenRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - for (HashMap tableValue : expected) { - context.CodeGenWriter.Reset(); - - Result r = context.CodeGenWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(context.CodeGenWriter.ToArray()); - expectedSerialized.add(context.CodeGenWriter.ToArray()); - } - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "HybridRowGen", innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => - MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "HybridRowGen", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> - { - Result r = ctx.CodeGenWriter.ReadBuffer(tableValue); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); - context = tempReference_context.get(); - } - - private static void CodeGenWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName - , int innerLoopIterations, ArrayList> expected) { - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.CodeGenWriter = new CodeGenRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Write", dataSetName, "HybridRowGen", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> - { - ctx.CodeGenWriter.Reset(); - - Result r = ctx.CodeGenWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.CodeGenWriter.Length, expected); - context = tempReference_context.get(); - } - - private static void ProtobufReadBenchmark(String schemaName, String dataSetName, int innerLoopIterations, - ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - BenchmarkContext context = new BenchmarkContext(); - context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity); - - for (HashMap tableValue : expected) { - context.ProtobufWriter.WriteBuffer(tableValue); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(context.ProtobufWriter.ToArray()); - expectedSerialized.add(context.ProtobufWriter.ToArray()); - } - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "Protobuf", - // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => ctx.ProtobufWriter - // .ReadBuffer(tableValue), (ref BenchmarkContext ctx, byte[] tableValue) => tableValue.Length, - // expectedSerialized); - MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "Protobuf", innerLoopIterations, - tempReference_context, - (ref BenchmarkContext ctx, byte[] tableValue) -> ctx.ProtobufWriter.ReadBuffer(tableValue), - (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); - context = tempReference_context.get(); - } - - private static void ProtobufWriteBenchmark(String schemaName, String dataSetName, int innerLoopIterations, - ArrayList> expected) { - BenchmarkContext context = new BenchmarkContext(); - context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity); - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Write", dataSetName, "Protobuf", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> - { - ctx.ProtobufWriter.WriteBuffer(tableValue); - }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.ProtobufWriter.Length, expected); - context = tempReference_context.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Result; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Tests involving generated (early bound) code compiled from schema based on a partial implementation + * of Cassandra Hotel Schema described here: https: //www.oreilly.com/ideas/cassandra-data-modeling . + *

+ * The tests here differ from {@link SchematizedMicroBenchmarkSuite} in that they rely on + * the schema being known at compile time instead of runtime. This allows code to be generated that + * directly addresses the schema structure instead of dynamically discovering schema structure at + * runtime. + *

+ */ +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public sealed class CodeGenMicroBenchmarkSuite : MicroBenchmarkSuiteBase +public final class CodeGenMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { + private static final int GuestCount = 1000; + private static final int HotelCount = 10000; + private static final int RoomsCount = 10000; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task CodeGenGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task CodeGenGuestsReadBenchmarkAsync() + public Task CodeGenGuestsReadBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Guests", "Guests", + CodeGenMicroBenchmarkSuite.GuestCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task CodeGenGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task CodeGenGuestsWriteBenchmarkAsync() + public Task CodeGenGuestsWriteBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Guests", "Guests", + CodeGenMicroBenchmarkSuite.GuestCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task CodeGenHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task CodeGenHotelReadBenchmarkAsync() + public Task CodeGenHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Hotels", "Hotels", + CodeGenMicroBenchmarkSuite.HotelCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task CodeGenHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task CodeGenHotelWriteBenchmarkAsync() + public Task CodeGenHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Hotels", "Hotels", + CodeGenMicroBenchmarkSuite.HotelCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task CodeGenRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task CodeGenRoomsReadBenchmarkAsync() + public Task CodeGenRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", + CodeGenMicroBenchmarkSuite.RoomsCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task CodeGenRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task CodeGenRoomsWriteBenchmarkAsync() + public Task CodeGenRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.CodeGenWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", + CodeGenMicroBenchmarkSuite.RoomsCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task ProtobufGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task ProtobufGuestsReadBenchmarkAsync() + public Task ProtobufGuestsReadBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Guests", "Guests", CodeGenMicroBenchmarkSuite.GuestCount, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task ProtobufGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task ProtobufGuestsWriteBenchmarkAsync() + public Task ProtobufGuestsWriteBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Guests", "Guests", CodeGenMicroBenchmarkSuite.GuestCount, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task ProtobufHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task ProtobufHotelReadBenchmarkAsync() + public Task ProtobufHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Hotels", "Hotels", CodeGenMicroBenchmarkSuite.HotelCount, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task ProtobufHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task ProtobufHotelWriteBenchmarkAsync() + public Task ProtobufHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Hotels", "Hotels", CodeGenMicroBenchmarkSuite.HotelCount, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task ProtobufRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task ProtobufRoomsReadBenchmarkAsync() + public Task ProtobufRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufReadBenchmark("Available_Rooms_By_Hotel_Date", "Rooms", + CodeGenMicroBenchmarkSuite.RoomsCount, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task ProtobufRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task ProtobufRoomsWriteBenchmarkAsync() + public Task ProtobufRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + CodeGenMicroBenchmarkSuite.ProtobufWriteBenchmark("Available_Rooms_By_Hotel_Date", "Rooms", + CodeGenMicroBenchmarkSuite.RoomsCount, expected); + } + + private static void CodeGenReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, + int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.CodeGenWriter = new CodeGenRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + for (HashMap tableValue : expected) { + context.CodeGenWriter.Reset(); + + Result r = context.CodeGenWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(context.CodeGenWriter.ToArray()); + expectedSerialized.add(context.CodeGenWriter.ToArray()); + } + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "HybridRowGen", innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => + MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "HybridRowGen", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> + { + Result r = ctx.CodeGenWriter.ReadBuffer(tableValue); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); + context = tempReference_context.get(); + } + + private static void CodeGenWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName + , int innerLoopIterations, ArrayList> expected) { + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.CodeGenWriter = new CodeGenRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Write", dataSetName, "HybridRowGen", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> + { + ctx.CodeGenWriter.Reset(); + + Result r = ctx.CodeGenWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.CodeGenWriter.Length, expected); + context = tempReference_context.get(); + } + + private static void ProtobufReadBenchmark(String schemaName, String dataSetName, int innerLoopIterations, + ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + BenchmarkContext context = new BenchmarkContext(); + context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity); + + for (HashMap tableValue : expected) { + context.ProtobufWriter.WriteBuffer(tableValue); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(context.ProtobufWriter.ToArray()); + expectedSerialized.add(context.ProtobufWriter.ToArray()); + } + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "Protobuf", + // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => ctx.ProtobufWriter + // .ReadBuffer(tableValue), (ref BenchmarkContext ctx, byte[] tableValue) => tableValue.Length, + // expectedSerialized); + MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Read", dataSetName, "Protobuf", innerLoopIterations, + tempReference_context, + (ref BenchmarkContext ctx, byte[] tableValue) -> ctx.ProtobufWriter.ReadBuffer(tableValue), + (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); + context = tempReference_context.get(); + } + + private static void ProtobufWriteBenchmark(String schemaName, String dataSetName, int innerLoopIterations, + ArrayList> expected) { + BenchmarkContext context = new BenchmarkContext(); + context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity); + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("CodeGen", "Write", dataSetName, "Protobuf", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> + { + ctx.ProtobufWriter.WriteBuffer(tableValue); + }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.ProtobufWriter.Length, expected); + context = tempReference_context.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java index ad57474..ff3590d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/CodeGenRowGenerator.java @@ -1,1169 +1,1169 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.ISpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.RowCursors; -import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypeScope; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.StringToken; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.UUID; - -import static com.google.common.base.Strings.lenientFormat; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal ref struct CodeGenRowGenerator -//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: -public final class CodeGenRowGenerator { - private HybridRowSerializer dispatcher; - private RowBuffer row = new RowBuffer(); - - - public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { - this(capacity, layout, resolver, null); - } - - public CodeGenRowGenerator() { - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver, - // ISpanResizer resizer = default) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver, ISpanResizer resizer) { - this.row = new RowBuffer(capacity, resizer); - this.row.initLayout(HybridRowVersion.V1, layout, resolver); - - switch (layout.name()) { - case "Hotels": - this.dispatcher = new HotelsHybridRowSerializer(layout, resolver); - break; - - case "Guests": - this.dispatcher = new GuestsHybridRowSerializer(layout, resolver); - break; - - case "Available_Rooms_By_Hotel_Date": - this.dispatcher = new RoomsHybridRowSerializer(layout, resolver); - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", layout.name())); - this.dispatcher = null; - break; - } - } - - public int getLength() { - return this.row.length(); - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public Result ReadBuffer(byte[] buffer) - public Result ReadBuffer(byte[] buffer) { - this.row = new RowBuffer(buffer.AsSpan(), HybridRowVersion.V1, this.row.resolver()); - Reference tempReference_row = - new Reference(this.row); - RowCursor root = RowCursor.create(tempReference_row); - this.row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(this.row); - Reference tempReference_root = - new Reference(root); - Result tempVar = this.dispatcher.ReadBuffer(tempReference_row2, tempReference_root); - root = tempReference_root.get(); - this.row = tempReference_row2.get(); - return tempVar; - } - - public void Reset() { - Layout layout = this.row.resolver().resolve(this.row.header().schemaId().clone()); - this.row.initLayout(HybridRowVersion.V1, layout, this.row.resolver()); - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ToArray() - public byte[] ToArray() { - return this.row.toArray(); - } - - public Result WriteBuffer(HashMap tableValue) { - Reference tempReference_row = - new Reference(this.row); - RowCursor root = RowCursor.create(tempReference_row); - this.row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(this.row); - Reference tempReference_root = - new Reference(root); - Result tempVar = this.dispatcher.WriteBuffer(tempReference_row2, tempReference_root, tableValue); - root = tempReference_root.get(); - this.row = tempReference_row2.get(); - return tempVar; - } - - public CodeGenRowGenerator clone() { - CodeGenRowGenerator varCopy = new CodeGenRowGenerator(); - - varCopy.row = this.row.clone(); - varCopy.dispatcher = this.dispatcher; - - return varCopy; - } - - private final static class AddressHybridRowSerializer extends HybridRowSerializer { - private static final Utf8String CityName = Utf8String.TranscodeUtf16("city"); - private static final Utf8String PostalCodeName = Utf8String.TranscodeUtf16("postal_code"); - private static final Utf8String StateName = Utf8String.TranscodeUtf16("state"); - private static final Utf8String StreetName = Utf8String.TranscodeUtf16("street"); - private LayoutColumn city; - private LayoutColumn postalCode; - private PostalCodeHybridRowSerializer postalCodeSerializer; - private StringToken postalCodeToken = new StringToken(); - private LayoutColumn state; - private LayoutColumn street; - - public AddressHybridRowSerializer(Layout layout, LayoutResolver resolver) { - Out tempOut_street = new Out(); - layout.TryFind(AddressHybridRowSerializer.StreetName, tempOut_street); - this.street = tempOut_street.get(); - Out tempOut_city = new Out(); - layout.TryFind(AddressHybridRowSerializer.CityName, tempOut_city); - this.city = tempOut_city.get(); - Out tempOut_state = new Out(); - layout.TryFind(AddressHybridRowSerializer.StateName, tempOut_state); - this.state = tempOut_state.get(); - Out tempOut_postalCode = new Out(); - layout.TryFind(AddressHybridRowSerializer.PostalCodeName, tempOut_postalCode); - this.postalCode = tempOut_postalCode.get(); - Out tempOut_postalCodeToken = new Out(); - layout.getTokenizer().TryFindToken(this.postalCode.path(), tempOut_postalCodeToken); - this.postalCodeToken = tempOut_postalCodeToken.get(); - this.postalCodeSerializer = new PostalCodeHybridRowSerializer(resolver.resolve(this.postalCode.typeArgs().schemaId().clone()), resolver); - } - - @Override - public Result ReadBuffer(Reference row, Reference root) { - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Result r = LayoutType.Utf8.ReadVariable(row, root, this.street, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.city, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - r = LayoutType.Utf8.ReadFixed(row, root, this.state, out _); - if (r != Result.SUCCESS) { - return r; - } - - root.get().Find(row, this.postalCodeToken.clone()); - RowCursor childScope; - Out tempOut_childScope = new Out(); - r = LayoutType.UDT.ReadScope(row, root, tempOut_childScope); - childScope = tempOut_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope = new Reference(childScope); - r = this.postalCodeSerializer.ReadBuffer(row, tempReference_childScope); - childScope = tempReference_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope2 = new Reference(childScope); - RowCursors.skip(root.get().clone(), row, tempReference_childScope2); - childScope = tempReference_childScope2.get(); - return Result.SUCCESS; - } - - @Override - public Result WriteBuffer(Reference row, Reference root, HashMap tableValue) { - for ((Utf8String key,Object value) :tableValue) - { - Result r; - switch (0) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: - //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.StreetName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.street, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: - //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.CityName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.city, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: - //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.StateName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteFixed(row, root, this.state, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: - //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.PostalCodeName): - case 0 - if (value != null) { - root.get().Find(row, this.postalCodeToken.clone()); - RowCursor childScope; - Out tempOut_childScope = new Out(); - r = LayoutType.UDT.WriteScope(row, root, this.postalCode.typeArgs().clone(), tempOut_childScope); - childScope = tempOut_childScope.get(); - - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope = new Reference(childScope); - r = this.postalCodeSerializer.WriteBuffer(row, tempReference_childScope, (HashMap)value); - childScope = tempReference_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope2 = new Reference(childScope); - RowCursors.skip(root.get().clone(), row, tempReference_childScope2); - childScope = tempReference_childScope2.get(); - } - - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); - break; - } - } - - return Result.SUCCESS; - } - } - - private final static class GuestsHybridRowSerializer extends HybridRowSerializer { - private static final Utf8String AddressesName = Utf8String.TranscodeUtf16("addresses"); - private static final Utf8String ConfirmNumberName = Utf8String.TranscodeUtf16("confirm_number"); - private static final Utf8String EmailsName = Utf8String.TranscodeUtf16("emails"); - private static final Utf8String FirstNameName = Utf8String.TranscodeUtf16("first_name"); - private static final Utf8String GuestIdName = Utf8String.TranscodeUtf16("guest_id"); - private static final Utf8String LastNameName = Utf8String.TranscodeUtf16("last_name"); - private static final Utf8String PhoneNumbersName = Utf8String.TranscodeUtf16("phone_numbers"); - private static final Utf8String TitleName = Utf8String.TranscodeUtf16("title"); - private AddressHybridRowSerializer addressSerializer; - private LayoutTypeScope.WriterFunc> addressSerializerWriter; - private LayoutColumn addresses; - private TypeArgumentList addressesFieldType = new TypeArgumentList(); - private StringToken addressesToken = new StringToken(); - private LayoutColumn confirmNumber; - private LayoutColumn emails; - private StringToken emailsToken = new StringToken(); - private LayoutColumn firstName; - private LayoutColumn guestId; - private LayoutColumn lastName; - private LayoutColumn phoneNumbers; - private StringToken phoneNumbersToken = new StringToken(); - private LayoutColumn title; - - public GuestsHybridRowSerializer(Layout layout, LayoutResolver resolver) { - Out tempOut_guestId = - new Out(); - layout.TryFind(GuestsHybridRowSerializer.GuestIdName, tempOut_guestId); - this.guestId = tempOut_guestId.get(); - Out tempOut_firstName = new Out(); - layout.TryFind(GuestsHybridRowSerializer.FirstNameName, tempOut_firstName); - this.firstName = tempOut_firstName.get(); - Out tempOut_lastName - = new Out(); - layout.TryFind(GuestsHybridRowSerializer.LastNameName, tempOut_lastName); - this.lastName = tempOut_lastName.get(); - Out tempOut_title = - new Out(); - layout.TryFind(GuestsHybridRowSerializer.TitleName, tempOut_title); - this.title = tempOut_title.get(); - Out tempOut_emails = - new Out(); - layout.TryFind(GuestsHybridRowSerializer.EmailsName, tempOut_emails); - this.emails = tempOut_emails.get(); - Out tempOut_phoneNumbers = new Out(); - layout.TryFind(GuestsHybridRowSerializer.PhoneNumbersName, tempOut_phoneNumbers); - this.phoneNumbers = tempOut_phoneNumbers.get(); - Out tempOut_addresses = new Out(); - layout.TryFind(GuestsHybridRowSerializer.AddressesName, tempOut_addresses); - this.addresses = tempOut_addresses.get(); - Out tempOut_confirmNumber = new Out(); - layout.TryFind(GuestsHybridRowSerializer.ConfirmNumberName, tempOut_confirmNumber); - this.confirmNumber = tempOut_confirmNumber.get(); - Out tempOut_emailsToken = new Out(); - layout.getTokenizer().TryFindToken(this.emails.path(), tempOut_emailsToken); - this.emailsToken = tempOut_emailsToken.get(); - Out tempOut_phoneNumbersToken = new Out(); - layout.getTokenizer().TryFindToken(this.phoneNumbers.path(), tempOut_phoneNumbersToken); - this.phoneNumbersToken = tempOut_phoneNumbersToken.get(); - Out tempOut_addressesToken = new Out(); - layout.getTokenizer().TryFindToken(this.addresses.path(), tempOut_addressesToken); - this.addressesToken = tempOut_addressesToken.get(); - - this.addressesFieldType = - new TypeArgumentList(new TypeArgument[] { new TypeArgument(LayoutType.TypedTuple, - this.addresses.typeArgs().clone()) }); - - this.addressSerializer = - new AddressHybridRowSerializer(resolver.resolve(this.addresses.typeArgs().get(1).typeArgs().schemaId().clone()), resolver); - this.addressSerializerWriter = (RowBuffer b, RowCursor scope, - HashMap context) -> addressSerializer.WriteBuffer(b, - scope, context); - } - - @Override - public Result ReadBuffer(Reference row, Reference root) { - java.util.UUID _; - Out tempOut__ = new Out(); - Result r = LayoutType.Guid.readFixed(row, root, this.guestId, tempOut__); - _ = tempOut__.get(); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.firstName, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.lastName, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.title, out _); - if (r != Result.SUCCESS) { - return r; - } - - root.get().Find(row, this.emailsToken.clone()); - RowCursor childScope; - Out tempOut_childScope = - new Out(); - r = LayoutType.TypedArray.ReadScope(row, root, tempOut_childScope); - childScope = tempOut_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - while (childScope.MoveNext(row)) { - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - r = LayoutType.Utf8.ReadSparse(row, ref childScope, out _); - if (r != Result.SUCCESS) { - return r; - } - } - - Reference tempReference_childScope = - new Reference(childScope); - RowCursors.skip(root.get().clone(), row, - tempReference_childScope); - childScope = tempReference_childScope.get(); - root.get().Find(row, this.phoneNumbersToken.clone()); - Out tempOut_childScope2 = - new Out(); - r = LayoutType.TypedArray.ReadScope(row, root, tempOut_childScope2); - childScope = tempOut_childScope2.get(); - if (r != Result.SUCCESS) { - return r; - } - - while (childScope.MoveNext(row)) { - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - r = LayoutType.Utf8.ReadSparse(row, ref childScope, out _); - if (r != Result.SUCCESS) { - return r; - } - } - - Reference tempReference_childScope2 = - new Reference(childScope); - RowCursors.skip(root.get().clone(), row, - tempReference_childScope2); - childScope = tempReference_childScope2.get(); - root.get().Find(row, this.addressesToken.clone()); - Out tempOut_childScope3 = - new Out(); - r = LayoutType.TypedMap.ReadScope(row, root, tempOut_childScope3); - childScope = tempOut_childScope3.get(); - if (r != Result.SUCCESS) { - return r; - } - - while (childScope.MoveNext(row)) { - Reference tempReference_childScope3 = - new Reference(childScope); - RowCursor tupleScope; - Out tempOut_tupleScope = - new Out(); - r = LayoutType.TypedTuple.ReadScope(row, tempReference_childScope3, tempOut_tupleScope); - tupleScope = tempOut_tupleScope.get(); - childScope = tempReference_childScope3.get(); - if (r != Result.SUCCESS) { - return r; - } - - if (!tupleScope.MoveNext(row)) { - return Result.INVALID_ROW; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - r = LayoutType.Utf8.ReadSparse(row, ref tupleScope, out _); - if (r != Result.SUCCESS) { - return r; - } - - if (!tupleScope.MoveNext(row)) { - return Result.INVALID_ROW; - } - - Reference tempReference_tupleScope = - new Reference(tupleScope); - RowCursor valueScope; - Out tempOut_valueScope = - new Out(); - r = LayoutType.ImmutableUDT.ReadScope(row, tempReference_tupleScope, tempOut_valueScope); - valueScope = tempOut_valueScope.get(); - tupleScope = tempReference_tupleScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_valueScope = - new Reference(valueScope); - r = this.addressSerializer.ReadBuffer(row, tempReference_valueScope); - valueScope = tempReference_valueScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - tupleScope.Skip(row, ref valueScope); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - childScope.Skip(row, ref tupleScope); - } - - Reference tempReference_childScope4 = - new Reference(childScope); - RowCursors.skip(root.get().clone(), row, - tempReference_childScope4); - childScope = tempReference_childScope4.get(); - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - return LayoutType.Utf8.ReadVariable(row, root, this.confirmNumber, out _); - } - - @Override - public Result WriteBuffer(Reference row, Reference root, - HashMap tableValue) { - for ((Utf8String key,Object value) :tableValue) - { - Result r; - switch (0) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.GuestIdName): - case 0 - if (value != null) { - r = LayoutType.Guid.writeFixed(row, root, this.guestId, (UUID)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.FirstNameName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.firstName, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.LastNameName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.lastName, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.TitleName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.title, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.EmailsName): - case 0 - if (value != null) { - root.get().Find(row, this.emailsToken.clone()); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' - // keyword - these are not converted by C# to Java Converter: - r = LayoutType.TypedArray.WriteScope(row, root, this.emails.typeArgs().clone(), - (ArrayList)value, (ref RowBuffer row2, ref RowCursor childScope, - ArrayList context) -> - { - for (Object item : context) { - ReferencetempRef_row2 = new Reference (row2); - ReferencetempRef_childScope = new Reference (childScope); - Result r2 = LayoutType.Utf8.WriteSparse(tempRef_row2, tempRef_childScope, - (Utf8String)item); - childScope = tempRef_childScope.argValue; - row2 = tempRef_row2.argValue; - if (r2 != Result.SUCCESS) { - return r2; - } - - ReferencetempRef_row22 = new Reference (row2); - childScope.MoveNext(tempRef_row22); - row2 = tempRef_row22.argValue; - } - - return Result.SUCCESS; - }); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.PhoneNumbersName): - case 0 - if (value != null) { - root.get().Find(row, this.phoneNumbersToken.clone()); - RowCursor childScope; - Out tempOut_childScope = new Out(); - r = LayoutType.TypedArray.WriteScope(row, root, this.phoneNumbers.typeArgs().clone(), - tempOut_childScope); - childScope = tempOut_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - for (Object item : (ArrayList)value) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved - // 'ref' keyword - these cannot be converted using the 'Ref' helper class - // unless the method is within the code being modified: - r = LayoutType.Utf8.WriteSparse(row, ref childScope, (Utf8String)item); - if (r != Result.SUCCESS) { - return r; - } - - childScope.MoveNext(row); - } - - Reference tempReference_childScope = new Reference(childScope); - RowCursors.skip(root.get().clone(), row, tempReference_childScope); - childScope = tempReference_childScope.get(); - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.AddressesName): - case 0 - if (value != null) { - root.get().Find(row, this.addressesToken.clone()); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' - // keyword - these are not converted by C# to Java Converter: - r = LayoutType.TypedMap.WriteScope(row, root, this.addresses.typeArgs().clone(), (this - , (ArrayList)value), (ref - RowBuffer row2, ref RowCursor childScope, (GuestsHybridRowSerializer - _this, ArrayList < Object > value)ctx) -> - { - for (Object item : ctx.value) { - Reference tempReference_row2 = new Reference(row2); - Reference tempReference_childScope = new Reference(childScope); - Result r2 = LayoutType.TypedTuple.WriteScope(tempReference_row2, - tempReference_childScope, - ctx._this.addresses.TypeArgs, (ctx._this, (ArrayList)item), - (ref RowBuffer row3, ref RowCursor tupleScope, (GuestsHybridRowSerializer - _this, ArrayList < Object > value)ctx2) -> - { - ReferencetempRef_row3 = new Reference (row3); - ReferencetempRef_tupleScope = new Reference (tupleScope); - Result r3 = LayoutType.Utf8.WriteSparse(tempRef_row3, tempRef_tupleScope, - (Utf8String)ctx2.value[0]); - tupleScope = tempRef_tupleScope.argValue; - row3 = tempRef_row3.argValue; - if (r3 != Result.SUCCESS) { - return r3; - } - - ReferencetempRef_row32 = new Reference (row3); - tupleScope.MoveNext(tempRef_row32); - row3 = tempRef_row32.argValue; - Reference tempReference_row33 = new Reference(row3); - Reference tempReference_tupleScope2 = new Reference(tupleScope); - Result tempVar = LayoutType.ImmutableUDT.WriteScope(tempReference_row33, - tempReference_tupleScope2, ctx2._this.addresses.TypeArgs[1].TypeArgs, - (HashMap)ctx2.value[1], - ctx2._this.addressSerializerWriter); - tupleScope = tempReference_tupleScope2.get(); - row3 = tempReference_row33.get(); - return tempVar; - }) - childScope = tempReference_childScope.get(); - row2 = tempReference_row2.get(); - if (r2 != Result.SUCCESS) { - return r2; - } - - ReferencetempRef_row22 = new Reference (row2); - childScope.MoveNext(tempRef_row22); - row2 = tempRef_row22.argValue; - } - - return Result.SUCCESS; - }) - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.ConfirmNumberName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.confirmNumber, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); - break; - } - } - - return Result.SUCCESS; - } - } - - private final static class HotelsHybridRowSerializer extends HybridRowSerializer { - private static final Utf8String AddressName = Utf8String.TranscodeUtf16("address"); - private static final Utf8String HotelIdName = Utf8String.TranscodeUtf16("hotel_id"); - private static final Utf8String NameName = Utf8String.TranscodeUtf16("name"); - private static final Utf8String PhoneName = Utf8String.TranscodeUtf16("phone"); - private LayoutColumn address; - private AddressHybridRowSerializer addressSerializer; - private StringToken addressToken = new StringToken(); - private LayoutColumn hotelId; - private LayoutColumn name; - private LayoutColumn phone; - - public HotelsHybridRowSerializer(Layout layout, LayoutResolver resolver) { - Out tempOut_hotelId = - new Out(); - layout.TryFind(HotelsHybridRowSerializer.HotelIdName, tempOut_hotelId); - this.hotelId = tempOut_hotelId.get(); - Out tempOut_name = - new Out(); - layout.TryFind(HotelsHybridRowSerializer.NameName, tempOut_name); - this.name = tempOut_name.get(); - Out tempOut_phone = - new Out(); - layout.TryFind(HotelsHybridRowSerializer.PhoneName, tempOut_phone); - this.phone = tempOut_phone.get(); - Out tempOut_address = - new Out(); - layout.TryFind(HotelsHybridRowSerializer.AddressName, tempOut_address); - this.address = tempOut_address.get(); - Out tempOut_addressToken = new Out(); - layout.getTokenizer().TryFindToken(this.address.path(), tempOut_addressToken); - this.addressToken = tempOut_addressToken.get(); - this.addressSerializer = - new AddressHybridRowSerializer(resolver.resolve(this.address.typeArgs().schemaId().clone()), - resolver); - } - - @Override - public Result ReadBuffer(Reference row, Reference root) { - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - Result r = LayoutType.Utf8.ReadFixed(row, root, this.hotelId, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.name, out _); - if (r != Result.SUCCESS) { - return r; - } - - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - r = LayoutType.Utf8.ReadVariable(row, root, this.phone, out _); - if (r != Result.SUCCESS) { - return r; - } - - root.get().Find(row, this.addressToken.clone()); - RowCursor childScope; - Out tempOut_childScope = - new Out(); - r = LayoutType.UDT.ReadScope(row, root, tempOut_childScope); - childScope = tempOut_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope = - new Reference(childScope); - r = this.addressSerializer.ReadBuffer(row, tempReference_childScope); - childScope = tempReference_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope2 = - new Reference(childScope); - RowCursors.skip(root.get().clone(), row, - tempReference_childScope2); - childScope = tempReference_childScope2.get(); - return Result.SUCCESS; - } - - @Override - public Result WriteBuffer(Reference row, Reference root, - HashMap tableValue) { - for ((Utf8String key,Object value) :tableValue) - { - Result r; - switch (0) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.HotelIdName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteFixed(row, root, this.hotelId, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.NameName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.name, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.PhoneName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteVariable(row, root, this.phone, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.AddressName): - case 0 - if (value != null) { - root.get().Find(row, this.addressToken.clone()); - RowCursor childScope; - Out tempOut_childScope = new Out(); - r = LayoutType.UDT.WriteScope(row, root, this.address.typeArgs().clone(), - tempOut_childScope); - childScope = tempOut_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope = new Reference(childScope); - r = this.addressSerializer.WriteBuffer(row, tempReference_childScope, (HashMap)value); - childScope = tempReference_childScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_childScope2 = new Reference(childScope); - RowCursors.skip(root.get().clone(), row, tempReference_childScope2); - childScope = tempReference_childScope2.get(); - } - - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); - break; - } - } - - return Result.SUCCESS; - } - } - - private abstract static class HybridRowSerializer { - public abstract Result ReadBuffer(Reference row, Reference root); - - public abstract Result WriteBuffer(Reference row, Reference root, - HashMap tableValue); - } - - private final static class PostalCodeHybridRowSerializer extends HybridRowSerializer { - private static final Utf8String Plus4Name = Utf8String.TranscodeUtf16("plus4"); - private static final Utf8String ZipName = Utf8String.TranscodeUtf16("zip"); - private LayoutColumn plus4; - private StringToken plus4Token = new StringToken(); - private LayoutColumn zip; - - // ReSharper disable once UnusedParameter.Local - public PostalCodeHybridRowSerializer(Layout layout, LayoutResolver resolver) { - Out tempOut_zip = - new Out(); - layout.TryFind(PostalCodeHybridRowSerializer.ZipName, tempOut_zip); - this.zip = tempOut_zip.get(); - Out tempOut_plus4 = - new Out(); - layout.TryFind(PostalCodeHybridRowSerializer.Plus4Name, tempOut_plus4); - this.plus4 = tempOut_plus4.get(); - Out tempOut_plus4Token = new Out(); - layout.getTokenizer().TryFindToken(this.plus4.path(), tempOut_plus4Token); - this.plus4Token = tempOut_plus4Token.get(); - } - - @Override - public Result ReadBuffer(Reference row, Reference root) { - int _; - Out tempOut__ = new Out(); - Result r = LayoutType.Int32.readFixed(row, root, this.zip, tempOut__); - _ = tempOut__.get(); - if (r != Result.SUCCESS) { - return r; - } - - root.get().Find(row, this.plus4Token.clone()); - short _; - Out tempOut__2 = new Out(); - Result tempVar = LayoutType.Int16.readSparse(row, root, tempOut__2); - _ = tempOut__2.get(); - return tempVar; - } - - @Override - public Result WriteBuffer(Reference row, Reference root, - HashMap tableValue) { - for ((Utf8String key,Object value) :tableValue) - { - Result r; - switch (0) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(PostalCodeHybridRowSerializer.ZipName): - case 0 - if (value != null) { - r = LayoutType.Int32.WriteFixed(row, root, this.zip, (int)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(PostalCodeHybridRowSerializer.Plus4Name): - case 0 - if (value != null) { - root.get().Find(row, this.plus4Token.clone()); - r = LayoutType.Int16.WriteSparse(row, root, (short)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); - break; - } - } - - return Result.SUCCESS; - } - } - - private final static class RoomsHybridRowSerializer extends HybridRowSerializer { - private static final Utf8String DateName = Utf8String.TranscodeUtf16("date"); - private static final Utf8String HotelIdName = Utf8String.TranscodeUtf16("hotel_id"); - private static final Utf8String IsAvailableName = Utf8String.TranscodeUtf16("is_available"); - private static final Utf8String RoomNumberName = Utf8String.TranscodeUtf16("room_number"); - private LayoutColumn date; - private LayoutColumn hotelId; - private LayoutColumn isAvailable; - private LayoutColumn roomNumber; - - // ReSharper disable once UnusedParameter.Local - public RoomsHybridRowSerializer(Layout layout, LayoutResolver resolver) { - Out tempOut_hotelId = - new Out(); - layout.TryFind(RoomsHybridRowSerializer.HotelIdName, tempOut_hotelId); - this.hotelId = tempOut_hotelId.get(); - Out tempOut_date = - new Out(); - layout.TryFind(RoomsHybridRowSerializer.DateName, tempOut_date); - this.date = tempOut_date.get(); - Out tempOut_roomNumber = new Out(); - layout.TryFind(RoomsHybridRowSerializer.RoomNumberName, tempOut_roomNumber); - this.roomNumber = tempOut_roomNumber.get(); - Out tempOut_isAvailable = new Out(); - layout.TryFind(RoomsHybridRowSerializer.IsAvailableName, tempOut_isAvailable); - this.isAvailable = tempOut_isAvailable.get(); - } - - @Override - public Result ReadBuffer(Reference row, Reference root) { - Utf8Span _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - Result r = LayoutType.Utf8.ReadFixed(row, root, this.hotelId, out _); - if (r != Result.SUCCESS) { - return r; - } - - java.time.LocalDateTime _; - Out tempOut__ = new Out(); - r = LayoutType.DateTime.ReadFixed(row, root, this.date, tempOut__); - _ = tempOut__.get(); - if (r != Result.SUCCESS) { - return r; - } - - byte _; - Out tempOut__2 = new Out(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: r = LayoutType.UInt8.ReadFixed(ref row, ref root, this.roomNumber, out byte _); - r = LayoutType.UInt8.readFixed(row, root, this.roomNumber, tempOut__2); - _ = tempOut__2.get(); - if (r != Result.SUCCESS) { - return r; - } - - boolean _; - Out tempOut__3 = new Out(); - Result tempVar = LayoutType.Boolean.readFixed(row, root, this.isAvailable, tempOut__3); - _ = tempOut__3.get(); - return tempVar; - } - - @Override - public Result WriteBuffer(Reference row, Reference root, - HashMap tableValue) { - for ((Utf8String key,Object value) :tableValue) - { - Result r; - switch (0) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.HotelIdName): - case 0 - if (value != null) { - r = LayoutType.Utf8.WriteFixed(row, root, this.hotelId, (Utf8String)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.DateName): - case 0 - if (value != null) { - r = LayoutType.DateTime.WriteFixed(row, root, this.date, (LocalDateTime)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.RoomNumberName): - case 0 - if (value != null) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: r = LayoutType.UInt8.WriteFixed(ref row, ref root, this.roomNumber, - // (byte)value); - r = LayoutType.UInt8.WriteFixed(row, root, this.roomNumber, (byte)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' - // statements: - //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.IsAvailableName): - case 0 - if (value != null) { - r = LayoutType.Boolean.WriteFixed(row, root, this.isAvailable, (boolean)value); - if (r != Result.SUCCESS) { - return r; - } - } - - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); - break; - } - } - - return Result.SUCCESS; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.ISpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.RowCursors; +import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypeScope; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.StringToken; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.UUID; + +import static com.google.common.base.Strings.lenientFormat; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal ref struct CodeGenRowGenerator +//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: +public final class CodeGenRowGenerator { + private HybridRowSerializer dispatcher; + private RowBuffer row = new RowBuffer(); + + + public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { + this(capacity, layout, resolver, null); + } + + public CodeGenRowGenerator() { + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver, + // ISpanResizer resizer = default) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + public CodeGenRowGenerator(int capacity, Layout layout, LayoutResolver resolver, ISpanResizer resizer) { + this.row = new RowBuffer(capacity, resizer); + this.row.initLayout(HybridRowVersion.V1, layout, resolver); + + switch (layout.name()) { + case "Hotels": + this.dispatcher = new HotelsHybridRowSerializer(layout, resolver); + break; + + case "Guests": + this.dispatcher = new GuestsHybridRowSerializer(layout, resolver); + break; + + case "Available_Rooms_By_Hotel_Date": + this.dispatcher = new RoomsHybridRowSerializer(layout, resolver); + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", layout.name())); + this.dispatcher = null; + break; + } + } + + public int getLength() { + return this.row.length(); + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public Result ReadBuffer(byte[] buffer) + public Result ReadBuffer(byte[] buffer) { + this.row = new RowBuffer(buffer.AsSpan(), HybridRowVersion.V1, this.row.resolver()); + Reference tempReference_row = + new Reference(this.row); + RowCursor root = RowCursor.create(tempReference_row); + this.row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(this.row); + Reference tempReference_root = + new Reference(root); + Result tempVar = this.dispatcher.ReadBuffer(tempReference_row2, tempReference_root); + root = tempReference_root.get(); + this.row = tempReference_row2.get(); + return tempVar; + } + + public void Reset() { + Layout layout = this.row.resolver().resolve(this.row.header().schemaId().clone()); + this.row.initLayout(HybridRowVersion.V1, layout, this.row.resolver()); + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ToArray() + public byte[] ToArray() { + return this.row.toArray(); + } + + public Result WriteBuffer(HashMap tableValue) { + Reference tempReference_row = + new Reference(this.row); + RowCursor root = RowCursor.create(tempReference_row); + this.row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(this.row); + Reference tempReference_root = + new Reference(root); + Result tempVar = this.dispatcher.WriteBuffer(tempReference_row2, tempReference_root, tableValue); + root = tempReference_root.get(); + this.row = tempReference_row2.get(); + return tempVar; + } + + public CodeGenRowGenerator clone() { + CodeGenRowGenerator varCopy = new CodeGenRowGenerator(); + + varCopy.row = this.row.clone(); + varCopy.dispatcher = this.dispatcher; + + return varCopy; + } + + private final static class AddressHybridRowSerializer extends HybridRowSerializer { + private static final Utf8String CityName = Utf8String.TranscodeUtf16("city"); + private static final Utf8String PostalCodeName = Utf8String.TranscodeUtf16("postal_code"); + private static final Utf8String StateName = Utf8String.TranscodeUtf16("state"); + private static final Utf8String StreetName = Utf8String.TranscodeUtf16("street"); + private LayoutColumn city; + private LayoutColumn postalCode; + private PostalCodeHybridRowSerializer postalCodeSerializer; + private StringToken postalCodeToken = new StringToken(); + private LayoutColumn state; + private LayoutColumn street; + + public AddressHybridRowSerializer(Layout layout, LayoutResolver resolver) { + Out tempOut_street = new Out(); + layout.TryFind(AddressHybridRowSerializer.StreetName, tempOut_street); + this.street = tempOut_street.get(); + Out tempOut_city = new Out(); + layout.TryFind(AddressHybridRowSerializer.CityName, tempOut_city); + this.city = tempOut_city.get(); + Out tempOut_state = new Out(); + layout.TryFind(AddressHybridRowSerializer.StateName, tempOut_state); + this.state = tempOut_state.get(); + Out tempOut_postalCode = new Out(); + layout.TryFind(AddressHybridRowSerializer.PostalCodeName, tempOut_postalCode); + this.postalCode = tempOut_postalCode.get(); + Out tempOut_postalCodeToken = new Out(); + layout.getTokenizer().TryFindToken(this.postalCode.path(), tempOut_postalCodeToken); + this.postalCodeToken = tempOut_postalCodeToken.get(); + this.postalCodeSerializer = new PostalCodeHybridRowSerializer(resolver.resolve(this.postalCode.typeArgs().schemaId().clone()), resolver); + } + + @Override + public Result ReadBuffer(Reference row, Reference root) { + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Result r = LayoutType.Utf8.ReadVariable(row, root, this.street, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.city, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + r = LayoutType.Utf8.ReadFixed(row, root, this.state, out _); + if (r != Result.SUCCESS) { + return r; + } + + root.get().Find(row, this.postalCodeToken.clone()); + RowCursor childScope; + Out tempOut_childScope = new Out(); + r = LayoutType.UDT.ReadScope(row, root, tempOut_childScope); + childScope = tempOut_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope = new Reference(childScope); + r = this.postalCodeSerializer.ReadBuffer(row, tempReference_childScope); + childScope = tempReference_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope2 = new Reference(childScope); + RowCursors.skip(root.get().clone(), row, tempReference_childScope2); + childScope = tempReference_childScope2.get(); + return Result.SUCCESS; + } + + @Override + public Result WriteBuffer(Reference row, Reference root, HashMap tableValue) { + for ((Utf8String key,Object value) :tableValue) + { + Result r; + switch (0) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: + //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.StreetName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.street, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: + //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.CityName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.city, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: + //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.StateName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteFixed(row, root, this.state, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' statements: + //ORIGINAL LINE: case 0 when key.Equals(AddressHybridRowSerializer.PostalCodeName): + case 0 + if (value != null) { + root.get().Find(row, this.postalCodeToken.clone()); + RowCursor childScope; + Out tempOut_childScope = new Out(); + r = LayoutType.UDT.WriteScope(row, root, this.postalCode.typeArgs().clone(), tempOut_childScope); + childScope = tempOut_childScope.get(); + + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope = new Reference(childScope); + r = this.postalCodeSerializer.WriteBuffer(row, tempReference_childScope, (HashMap)value); + childScope = tempReference_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope2 = new Reference(childScope); + RowCursors.skip(root.get().clone(), row, tempReference_childScope2); + childScope = tempReference_childScope2.get(); + } + + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); + break; + } + } + + return Result.SUCCESS; + } + } + + private final static class GuestsHybridRowSerializer extends HybridRowSerializer { + private static final Utf8String AddressesName = Utf8String.TranscodeUtf16("addresses"); + private static final Utf8String ConfirmNumberName = Utf8String.TranscodeUtf16("confirm_number"); + private static final Utf8String EmailsName = Utf8String.TranscodeUtf16("emails"); + private static final Utf8String FirstNameName = Utf8String.TranscodeUtf16("first_name"); + private static final Utf8String GuestIdName = Utf8String.TranscodeUtf16("guest_id"); + private static final Utf8String LastNameName = Utf8String.TranscodeUtf16("last_name"); + private static final Utf8String PhoneNumbersName = Utf8String.TranscodeUtf16("phone_numbers"); + private static final Utf8String TitleName = Utf8String.TranscodeUtf16("title"); + private AddressHybridRowSerializer addressSerializer; + private LayoutTypeScope.WriterFunc> addressSerializerWriter; + private LayoutColumn addresses; + private TypeArgumentList addressesFieldType = new TypeArgumentList(); + private StringToken addressesToken = new StringToken(); + private LayoutColumn confirmNumber; + private LayoutColumn emails; + private StringToken emailsToken = new StringToken(); + private LayoutColumn firstName; + private LayoutColumn guestId; + private LayoutColumn lastName; + private LayoutColumn phoneNumbers; + private StringToken phoneNumbersToken = new StringToken(); + private LayoutColumn title; + + public GuestsHybridRowSerializer(Layout layout, LayoutResolver resolver) { + Out tempOut_guestId = + new Out(); + layout.TryFind(GuestsHybridRowSerializer.GuestIdName, tempOut_guestId); + this.guestId = tempOut_guestId.get(); + Out tempOut_firstName = new Out(); + layout.TryFind(GuestsHybridRowSerializer.FirstNameName, tempOut_firstName); + this.firstName = tempOut_firstName.get(); + Out tempOut_lastName + = new Out(); + layout.TryFind(GuestsHybridRowSerializer.LastNameName, tempOut_lastName); + this.lastName = tempOut_lastName.get(); + Out tempOut_title = + new Out(); + layout.TryFind(GuestsHybridRowSerializer.TitleName, tempOut_title); + this.title = tempOut_title.get(); + Out tempOut_emails = + new Out(); + layout.TryFind(GuestsHybridRowSerializer.EmailsName, tempOut_emails); + this.emails = tempOut_emails.get(); + Out tempOut_phoneNumbers = new Out(); + layout.TryFind(GuestsHybridRowSerializer.PhoneNumbersName, tempOut_phoneNumbers); + this.phoneNumbers = tempOut_phoneNumbers.get(); + Out tempOut_addresses = new Out(); + layout.TryFind(GuestsHybridRowSerializer.AddressesName, tempOut_addresses); + this.addresses = tempOut_addresses.get(); + Out tempOut_confirmNumber = new Out(); + layout.TryFind(GuestsHybridRowSerializer.ConfirmNumberName, tempOut_confirmNumber); + this.confirmNumber = tempOut_confirmNumber.get(); + Out tempOut_emailsToken = new Out(); + layout.getTokenizer().TryFindToken(this.emails.path(), tempOut_emailsToken); + this.emailsToken = tempOut_emailsToken.get(); + Out tempOut_phoneNumbersToken = new Out(); + layout.getTokenizer().TryFindToken(this.phoneNumbers.path(), tempOut_phoneNumbersToken); + this.phoneNumbersToken = tempOut_phoneNumbersToken.get(); + Out tempOut_addressesToken = new Out(); + layout.getTokenizer().TryFindToken(this.addresses.path(), tempOut_addressesToken); + this.addressesToken = tempOut_addressesToken.get(); + + this.addressesFieldType = + new TypeArgumentList(new TypeArgument[] { new TypeArgument(LayoutType.TypedTuple, + this.addresses.typeArgs().clone()) }); + + this.addressSerializer = + new AddressHybridRowSerializer(resolver.resolve(this.addresses.typeArgs().get(1).typeArgs().schemaId().clone()), resolver); + this.addressSerializerWriter = (RowBuffer b, RowCursor scope, + HashMap context) -> addressSerializer.WriteBuffer(b, + scope, context); + } + + @Override + public Result ReadBuffer(Reference row, Reference root) { + java.util.UUID _; + Out tempOut__ = new Out(); + Result r = LayoutType.Guid.readFixed(row, root, this.guestId, tempOut__); + _ = tempOut__.get(); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.firstName, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.lastName, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.title, out _); + if (r != Result.SUCCESS) { + return r; + } + + root.get().Find(row, this.emailsToken.clone()); + RowCursor childScope; + Out tempOut_childScope = + new Out(); + r = LayoutType.TypedArray.ReadScope(row, root, tempOut_childScope); + childScope = tempOut_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + while (childScope.MoveNext(row)) { + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + r = LayoutType.Utf8.ReadSparse(row, ref childScope, out _); + if (r != Result.SUCCESS) { + return r; + } + } + + Reference tempReference_childScope = + new Reference(childScope); + RowCursors.skip(root.get().clone(), row, + tempReference_childScope); + childScope = tempReference_childScope.get(); + root.get().Find(row, this.phoneNumbersToken.clone()); + Out tempOut_childScope2 = + new Out(); + r = LayoutType.TypedArray.ReadScope(row, root, tempOut_childScope2); + childScope = tempOut_childScope2.get(); + if (r != Result.SUCCESS) { + return r; + } + + while (childScope.MoveNext(row)) { + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + r = LayoutType.Utf8.ReadSparse(row, ref childScope, out _); + if (r != Result.SUCCESS) { + return r; + } + } + + Reference tempReference_childScope2 = + new Reference(childScope); + RowCursors.skip(root.get().clone(), row, + tempReference_childScope2); + childScope = tempReference_childScope2.get(); + root.get().Find(row, this.addressesToken.clone()); + Out tempOut_childScope3 = + new Out(); + r = LayoutType.TypedMap.ReadScope(row, root, tempOut_childScope3); + childScope = tempOut_childScope3.get(); + if (r != Result.SUCCESS) { + return r; + } + + while (childScope.MoveNext(row)) { + Reference tempReference_childScope3 = + new Reference(childScope); + RowCursor tupleScope; + Out tempOut_tupleScope = + new Out(); + r = LayoutType.TypedTuple.ReadScope(row, tempReference_childScope3, tempOut_tupleScope); + tupleScope = tempOut_tupleScope.get(); + childScope = tempReference_childScope3.get(); + if (r != Result.SUCCESS) { + return r; + } + + if (!tupleScope.MoveNext(row)) { + return Result.INVALID_ROW; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + r = LayoutType.Utf8.ReadSparse(row, ref tupleScope, out _); + if (r != Result.SUCCESS) { + return r; + } + + if (!tupleScope.MoveNext(row)) { + return Result.INVALID_ROW; + } + + Reference tempReference_tupleScope = + new Reference(tupleScope); + RowCursor valueScope; + Out tempOut_valueScope = + new Out(); + r = LayoutType.ImmutableUDT.ReadScope(row, tempReference_tupleScope, tempOut_valueScope); + valueScope = tempOut_valueScope.get(); + tupleScope = tempReference_tupleScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_valueScope = + new Reference(valueScope); + r = this.addressSerializer.ReadBuffer(row, tempReference_valueScope); + valueScope = tempReference_valueScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + tupleScope.Skip(row, ref valueScope); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + childScope.Skip(row, ref tupleScope); + } + + Reference tempReference_childScope4 = + new Reference(childScope); + RowCursors.skip(root.get().clone(), row, + tempReference_childScope4); + childScope = tempReference_childScope4.get(); + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + return LayoutType.Utf8.ReadVariable(row, root, this.confirmNumber, out _); + } + + @Override + public Result WriteBuffer(Reference row, Reference root, + HashMap tableValue) { + for ((Utf8String key,Object value) :tableValue) + { + Result r; + switch (0) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.GuestIdName): + case 0 + if (value != null) { + r = LayoutType.Guid.writeFixed(row, root, this.guestId, (UUID)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.FirstNameName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.firstName, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.LastNameName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.lastName, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.TitleName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.title, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.EmailsName): + case 0 + if (value != null) { + root.get().Find(row, this.emailsToken.clone()); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' + // keyword - these are not converted by C# to Java Converter: + r = LayoutType.TypedArray.WriteScope(row, root, this.emails.typeArgs().clone(), + (ArrayList)value, (ref RowBuffer row2, ref RowCursor childScope, + ArrayList context) -> + { + for (Object item : context) { + ReferencetempRef_row2 = new Reference (row2); + ReferencetempRef_childScope = new Reference (childScope); + Result r2 = LayoutType.Utf8.WriteSparse(tempRef_row2, tempRef_childScope, + (Utf8String)item); + childScope = tempRef_childScope.argValue; + row2 = tempRef_row2.argValue; + if (r2 != Result.SUCCESS) { + return r2; + } + + ReferencetempRef_row22 = new Reference (row2); + childScope.MoveNext(tempRef_row22); + row2 = tempRef_row22.argValue; + } + + return Result.SUCCESS; + }); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.PhoneNumbersName): + case 0 + if (value != null) { + root.get().Find(row, this.phoneNumbersToken.clone()); + RowCursor childScope; + Out tempOut_childScope = new Out(); + r = LayoutType.TypedArray.WriteScope(row, root, this.phoneNumbers.typeArgs().clone(), + tempOut_childScope); + childScope = tempOut_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + for (Object item : (ArrayList)value) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved + // 'ref' keyword - these cannot be converted using the 'Ref' helper class + // unless the method is within the code being modified: + r = LayoutType.Utf8.WriteSparse(row, ref childScope, (Utf8String)item); + if (r != Result.SUCCESS) { + return r; + } + + childScope.MoveNext(row); + } + + Reference tempReference_childScope = new Reference(childScope); + RowCursors.skip(root.get().clone(), row, tempReference_childScope); + childScope = tempReference_childScope.get(); + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.AddressesName): + case 0 + if (value != null) { + root.get().Find(row, this.addressesToken.clone()); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' + // keyword - these are not converted by C# to Java Converter: + r = LayoutType.TypedMap.WriteScope(row, root, this.addresses.typeArgs().clone(), (this + , (ArrayList)value), (ref + RowBuffer row2, ref RowCursor childScope, (GuestsHybridRowSerializer + _this, ArrayList < Object > value)ctx) -> + { + for (Object item : ctx.value) { + Reference tempReference_row2 = new Reference(row2); + Reference tempReference_childScope = new Reference(childScope); + Result r2 = LayoutType.TypedTuple.WriteScope(tempReference_row2, + tempReference_childScope, + ctx._this.addresses.TypeArgs, (ctx._this, (ArrayList)item), + (ref RowBuffer row3, ref RowCursor tupleScope, (GuestsHybridRowSerializer + _this, ArrayList < Object > value)ctx2) -> + { + ReferencetempRef_row3 = new Reference (row3); + ReferencetempRef_tupleScope = new Reference (tupleScope); + Result r3 = LayoutType.Utf8.WriteSparse(tempRef_row3, tempRef_tupleScope, + (Utf8String)ctx2.value[0]); + tupleScope = tempRef_tupleScope.argValue; + row3 = tempRef_row3.argValue; + if (r3 != Result.SUCCESS) { + return r3; + } + + ReferencetempRef_row32 = new Reference (row3); + tupleScope.MoveNext(tempRef_row32); + row3 = tempRef_row32.argValue; + Reference tempReference_row33 = new Reference(row3); + Reference tempReference_tupleScope2 = new Reference(tupleScope); + Result tempVar = LayoutType.ImmutableUDT.WriteScope(tempReference_row33, + tempReference_tupleScope2, ctx2._this.addresses.TypeArgs[1].TypeArgs, + (HashMap)ctx2.value[1], + ctx2._this.addressSerializerWriter); + tupleScope = tempReference_tupleScope2.get(); + row3 = tempReference_row33.get(); + return tempVar; + }) + childScope = tempReference_childScope.get(); + row2 = tempReference_row2.get(); + if (r2 != Result.SUCCESS) { + return r2; + } + + ReferencetempRef_row22 = new Reference (row2); + childScope.MoveNext(tempRef_row22); + row2 = tempRef_row22.argValue; + } + + return Result.SUCCESS; + }) + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(GuestsHybridRowSerializer.ConfirmNumberName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.confirmNumber, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); + break; + } + } + + return Result.SUCCESS; + } + } + + private final static class HotelsHybridRowSerializer extends HybridRowSerializer { + private static final Utf8String AddressName = Utf8String.TranscodeUtf16("address"); + private static final Utf8String HotelIdName = Utf8String.TranscodeUtf16("hotel_id"); + private static final Utf8String NameName = Utf8String.TranscodeUtf16("name"); + private static final Utf8String PhoneName = Utf8String.TranscodeUtf16("phone"); + private LayoutColumn address; + private AddressHybridRowSerializer addressSerializer; + private StringToken addressToken = new StringToken(); + private LayoutColumn hotelId; + private LayoutColumn name; + private LayoutColumn phone; + + public HotelsHybridRowSerializer(Layout layout, LayoutResolver resolver) { + Out tempOut_hotelId = + new Out(); + layout.TryFind(HotelsHybridRowSerializer.HotelIdName, tempOut_hotelId); + this.hotelId = tempOut_hotelId.get(); + Out tempOut_name = + new Out(); + layout.TryFind(HotelsHybridRowSerializer.NameName, tempOut_name); + this.name = tempOut_name.get(); + Out tempOut_phone = + new Out(); + layout.TryFind(HotelsHybridRowSerializer.PhoneName, tempOut_phone); + this.phone = tempOut_phone.get(); + Out tempOut_address = + new Out(); + layout.TryFind(HotelsHybridRowSerializer.AddressName, tempOut_address); + this.address = tempOut_address.get(); + Out tempOut_addressToken = new Out(); + layout.getTokenizer().TryFindToken(this.address.path(), tempOut_addressToken); + this.addressToken = tempOut_addressToken.get(); + this.addressSerializer = + new AddressHybridRowSerializer(resolver.resolve(this.address.typeArgs().schemaId().clone()), + resolver); + } + + @Override + public Result ReadBuffer(Reference row, Reference root) { + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + Result r = LayoutType.Utf8.ReadFixed(row, root, this.hotelId, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.name, out _); + if (r != Result.SUCCESS) { + return r; + } + + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + r = LayoutType.Utf8.ReadVariable(row, root, this.phone, out _); + if (r != Result.SUCCESS) { + return r; + } + + root.get().Find(row, this.addressToken.clone()); + RowCursor childScope; + Out tempOut_childScope = + new Out(); + r = LayoutType.UDT.ReadScope(row, root, tempOut_childScope); + childScope = tempOut_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope = + new Reference(childScope); + r = this.addressSerializer.ReadBuffer(row, tempReference_childScope); + childScope = tempReference_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope2 = + new Reference(childScope); + RowCursors.skip(root.get().clone(), row, + tempReference_childScope2); + childScope = tempReference_childScope2.get(); + return Result.SUCCESS; + } + + @Override + public Result WriteBuffer(Reference row, Reference root, + HashMap tableValue) { + for ((Utf8String key,Object value) :tableValue) + { + Result r; + switch (0) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.HotelIdName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteFixed(row, root, this.hotelId, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.NameName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.name, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.PhoneName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteVariable(row, root, this.phone, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(HotelsHybridRowSerializer.AddressName): + case 0 + if (value != null) { + root.get().Find(row, this.addressToken.clone()); + RowCursor childScope; + Out tempOut_childScope = new Out(); + r = LayoutType.UDT.WriteScope(row, root, this.address.typeArgs().clone(), + tempOut_childScope); + childScope = tempOut_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope = new Reference(childScope); + r = this.addressSerializer.WriteBuffer(row, tempReference_childScope, (HashMap)value); + childScope = tempReference_childScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_childScope2 = new Reference(childScope); + RowCursors.skip(root.get().clone(), row, tempReference_childScope2); + childScope = tempReference_childScope2.get(); + } + + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); + break; + } + } + + return Result.SUCCESS; + } + } + + private abstract static class HybridRowSerializer { + public abstract Result ReadBuffer(Reference row, Reference root); + + public abstract Result WriteBuffer(Reference row, Reference root, + HashMap tableValue); + } + + private final static class PostalCodeHybridRowSerializer extends HybridRowSerializer { + private static final Utf8String Plus4Name = Utf8String.TranscodeUtf16("plus4"); + private static final Utf8String ZipName = Utf8String.TranscodeUtf16("zip"); + private LayoutColumn plus4; + private StringToken plus4Token = new StringToken(); + private LayoutColumn zip; + + // ReSharper disable once UnusedParameter.Local + public PostalCodeHybridRowSerializer(Layout layout, LayoutResolver resolver) { + Out tempOut_zip = + new Out(); + layout.TryFind(PostalCodeHybridRowSerializer.ZipName, tempOut_zip); + this.zip = tempOut_zip.get(); + Out tempOut_plus4 = + new Out(); + layout.TryFind(PostalCodeHybridRowSerializer.Plus4Name, tempOut_plus4); + this.plus4 = tempOut_plus4.get(); + Out tempOut_plus4Token = new Out(); + layout.getTokenizer().TryFindToken(this.plus4.path(), tempOut_plus4Token); + this.plus4Token = tempOut_plus4Token.get(); + } + + @Override + public Result ReadBuffer(Reference row, Reference root) { + int _; + Out tempOut__ = new Out(); + Result r = LayoutType.Int32.readFixed(row, root, this.zip, tempOut__); + _ = tempOut__.get(); + if (r != Result.SUCCESS) { + return r; + } + + root.get().Find(row, this.plus4Token.clone()); + short _; + Out tempOut__2 = new Out(); + Result tempVar = LayoutType.Int16.readSparse(row, root, tempOut__2); + _ = tempOut__2.get(); + return tempVar; + } + + @Override + public Result WriteBuffer(Reference row, Reference root, + HashMap tableValue) { + for ((Utf8String key,Object value) :tableValue) + { + Result r; + switch (0) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(PostalCodeHybridRowSerializer.ZipName): + case 0 + if (value != null) { + r = LayoutType.Int32.WriteFixed(row, root, this.zip, (int)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(PostalCodeHybridRowSerializer.Plus4Name): + case 0 + if (value != null) { + root.get().Find(row, this.plus4Token.clone()); + r = LayoutType.Int16.WriteSparse(row, root, (short)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); + break; + } + } + + return Result.SUCCESS; + } + } + + private final static class RoomsHybridRowSerializer extends HybridRowSerializer { + private static final Utf8String DateName = Utf8String.TranscodeUtf16("date"); + private static final Utf8String HotelIdName = Utf8String.TranscodeUtf16("hotel_id"); + private static final Utf8String IsAvailableName = Utf8String.TranscodeUtf16("is_available"); + private static final Utf8String RoomNumberName = Utf8String.TranscodeUtf16("room_number"); + private LayoutColumn date; + private LayoutColumn hotelId; + private LayoutColumn isAvailable; + private LayoutColumn roomNumber; + + // ReSharper disable once UnusedParameter.Local + public RoomsHybridRowSerializer(Layout layout, LayoutResolver resolver) { + Out tempOut_hotelId = + new Out(); + layout.TryFind(RoomsHybridRowSerializer.HotelIdName, tempOut_hotelId); + this.hotelId = tempOut_hotelId.get(); + Out tempOut_date = + new Out(); + layout.TryFind(RoomsHybridRowSerializer.DateName, tempOut_date); + this.date = tempOut_date.get(); + Out tempOut_roomNumber = new Out(); + layout.TryFind(RoomsHybridRowSerializer.RoomNumberName, tempOut_roomNumber); + this.roomNumber = tempOut_roomNumber.get(); + Out tempOut_isAvailable = new Out(); + layout.TryFind(RoomsHybridRowSerializer.IsAvailableName, tempOut_isAvailable); + this.isAvailable = tempOut_isAvailable.get(); + } + + @Override + public Result ReadBuffer(Reference row, Reference root) { + Utf8Span _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + Result r = LayoutType.Utf8.ReadFixed(row, root, this.hotelId, out _); + if (r != Result.SUCCESS) { + return r; + } + + java.time.LocalDateTime _; + Out tempOut__ = new Out(); + r = LayoutType.DateTime.ReadFixed(row, root, this.date, tempOut__); + _ = tempOut__.get(); + if (r != Result.SUCCESS) { + return r; + } + + byte _; + Out tempOut__2 = new Out(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: r = LayoutType.UInt8.ReadFixed(ref row, ref root, this.roomNumber, out byte _); + r = LayoutType.UInt8.readFixed(row, root, this.roomNumber, tempOut__2); + _ = tempOut__2.get(); + if (r != Result.SUCCESS) { + return r; + } + + boolean _; + Out tempOut__3 = new Out(); + Result tempVar = LayoutType.Boolean.readFixed(row, root, this.isAvailable, tempOut__3); + _ = tempOut__3.get(); + return tempVar; + } + + @Override + public Result WriteBuffer(Reference row, Reference root, + HashMap tableValue) { + for ((Utf8String key,Object value) :tableValue) + { + Result r; + switch (0) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.HotelIdName): + case 0 + if (value != null) { + r = LayoutType.Utf8.WriteFixed(row, root, this.hotelId, (Utf8String)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.DateName): + case 0 + if (value != null) { + r = LayoutType.DateTime.WriteFixed(row, root, this.date, (LocalDateTime)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.RoomNumberName): + case 0 + if (value != null) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: r = LayoutType.UInt8.WriteFixed(ref row, ref root, this.roomNumber, + // (byte)value); + r = LayoutType.UInt8.WriteFixed(row, root, this.roomNumber, (byte)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to the C# 'when' clause in 'case' + // statements: + //ORIGINAL LINE: case 0 when key.Equals(RoomsHybridRowSerializer.IsAvailableName): + case 0 + if (value != null) { + r = LayoutType.Boolean.WriteFixed(row, root, this.isAvailable, (boolean)value); + if (r != Result.SUCCESS) { + return r; + } + } + + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown property name: %s", key)); + break; + } + } + + return Result.SUCCESS; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java index 6aa6476..7c4afdd 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/GenerateBenchmarkSuite.java @@ -1,108 +1,108 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import java.io.File; -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TestData.SchemaFile, TestData.Target)] public sealed class -// GenerateBenchmarkSuite : BenchmarkSuiteBase -public final class GenerateBenchmarkSuite extends BenchmarkSuiteBase { - private String sdl; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task GenerateGuestsBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task GenerateGuestsBenchmarkAsync() - public Task GenerateGuestsBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await this.GenerateBenchmarkAsync("Guests", 50, TestData.GuestsExpected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task GenerateHotelBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task GenerateHotelBenchmarkAsync() - public Task GenerateHotelBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await this.GenerateBenchmarkAsync("Hotels", 100, TestData.HotelExpected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task GenerateRoomsBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task GenerateRoomsBenchmarkAsync() - public Task GenerateRoomsBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await this.GenerateBenchmarkAsync("Available_Rooms_By_Hotel_Date", 100, TestData.RoomsExpected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - this.sdl = Files.readString(TestData.SchemaFile); - Namespace schema = Namespace.Parse(this.sdl); - this.DefaultResolver = new LayoutResolverNamespace(schema, SystemSchema.LayoutResolver); - } - - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: private async Task GenerateBenchmarkAsync(string schemaName, int outerLoopIterations, string - // expectedFile) - private Task GenerateBenchmarkAsync(String schemaName, int outerLoopIterations, String expectedFile) { - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - ArrayList> rows = GenerateBenchmarkSuite.GenerateBenchmarkInputs(resolver, - schemaName, outerLoopIterations); - - Schema tableSchema = resolver.Namespace.Schemas.Find(x = schemaName.equals( > x.Name)) - TypeArgument typeArg = new TypeArgument(LayoutType.UDT, - new TypeArgumentList(tableSchema.getSchemaId().clone())); - - boolean allMatch = rows.size() == expected.Count; - for (int i = 0; allMatch && i < rows.size(); i++) { - allMatch |= HybridRowValueGenerator.DynamicTypeArgumentEquals(resolver, expected[i], rows.get(i), - typeArg.clone()); - } - - if (!allMatch) { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await BenchmarkSuiteBase. - WriteAllRowsAsync(expectedFile, this.sdl, resolver, resolver.Resolve(tableSchema.getSchemaId().clone()), rows); - System.out.printf("Updated expected file at: %1$s" + "\r\n", (new File(expectedFile)).getAbsolutePath()); - Assert.IsTrue(allMatch, "Expected output does not match expected file."); - } - } - - private static ArrayList> GenerateBenchmarkInputs(LayoutResolverNamespace resolver, - String schemaName, - int outerLoopIterations) { - HybridRowGeneratorConfig generatorConfig = new HybridRowGeneratorConfig(); - final int seed = 42; - RandomGenerator rand = new RandomGenerator(new Random(seed)); - HybridRowValueGenerator valueGenerator = new HybridRowValueGenerator(rand, generatorConfig); - - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - ArrayList> rows = new ArrayList>(outerLoopIterations); - for (int iteration = 0; iteration != outerLoopIterations; iteration += outerLoopIterations < 0 ? 0 : 1) { - TypeArgument typeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(layout.getSchemaId().clone())); - HashMap rowValue = - (HashMap)valueGenerator.GenerateLayoutType(resolver, typeArg.clone()); - rows.add(rowValue); - } - - return rows; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import java.io.File; +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Random; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TestData.SchemaFile, TestData.Target)] public sealed class +// GenerateBenchmarkSuite : BenchmarkSuiteBase +public final class GenerateBenchmarkSuite extends BenchmarkSuiteBase { + private String sdl; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task GenerateGuestsBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task GenerateGuestsBenchmarkAsync() + public Task GenerateGuestsBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await this.GenerateBenchmarkAsync("Guests", 50, TestData.GuestsExpected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task GenerateHotelBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task GenerateHotelBenchmarkAsync() + public Task GenerateHotelBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await this.GenerateBenchmarkAsync("Hotels", 100, TestData.HotelExpected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task GenerateRoomsBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task GenerateRoomsBenchmarkAsync() + public Task GenerateRoomsBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await this.GenerateBenchmarkAsync("Available_Rooms_By_Hotel_Date", 100, TestData.RoomsExpected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + this.sdl = Files.readString(TestData.SchemaFile); + Namespace schema = Namespace.Parse(this.sdl); + this.DefaultResolver = new LayoutResolverNamespace(schema, SystemSchema.LayoutResolver); + } + + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: private async Task GenerateBenchmarkAsync(string schemaName, int outerLoopIterations, string + // expectedFile) + private Task GenerateBenchmarkAsync(String schemaName, int outerLoopIterations, String expectedFile) { + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + ArrayList> rows = GenerateBenchmarkSuite.GenerateBenchmarkInputs(resolver, + schemaName, outerLoopIterations); + + Schema tableSchema = resolver.Namespace.Schemas.Find(x = schemaName.equals( > x.Name)) + TypeArgument typeArg = new TypeArgument(LayoutType.UDT, + new TypeArgumentList(tableSchema.getSchemaId().clone())); + + boolean allMatch = rows.size() == expected.Count; + for (int i = 0; allMatch && i < rows.size(); i++) { + allMatch |= HybridRowValueGenerator.DynamicTypeArgumentEquals(resolver, expected[i], rows.get(i), + typeArg.clone()); + } + + if (!allMatch) { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await BenchmarkSuiteBase. + WriteAllRowsAsync(expectedFile, this.sdl, resolver, resolver.Resolve(tableSchema.getSchemaId().clone()), rows); + System.out.printf("Updated expected file at: %1$s" + "\r\n", (new File(expectedFile)).getAbsolutePath()); + Assert.IsTrue(allMatch, "Expected output does not match expected file."); + } + } + + private static ArrayList> GenerateBenchmarkInputs(LayoutResolverNamespace resolver, + String schemaName, + int outerLoopIterations) { + HybridRowGeneratorConfig generatorConfig = new HybridRowGeneratorConfig(); + final int seed = 42; + RandomGenerator rand = new RandomGenerator(new Random(seed)); + HybridRowValueGenerator valueGenerator = new HybridRowValueGenerator(rand, generatorConfig); + + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + ArrayList> rows = new ArrayList>(outerLoopIterations); + for (int iteration = 0; iteration != outerLoopIterations; iteration += outerLoopIterations < 0 ? 0 : 1) { + TypeArgument typeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(layout.getSchemaId().clone())); + HashMap rowValue = + (HashMap)valueGenerator.GenerateLayoutType(resolver, typeArg.clone()); + rows.add(rowValue); + } + + return rows; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java index 766989f..aa87d29 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/JsonModelRowGenerator.java @@ -1,193 +1,193 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.ISpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; -import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; - -import java.io.InputStream; -import java.io.OutputStream; -import java.util.ArrayList; -import java.util.HashMap; - -import static com.google.common.base.Strings.lenientFormat; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: public ref struct JsonModelRowGenerator -//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: -public final class JsonModelRowGenerator { - private RowBuffer row = new RowBuffer(); - - - public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { - this(capacity, layout, resolver, null); - } - - public JsonModelRowGenerator() { - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver, - // ISpanResizer resizer = default) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver, ISpanResizer resizer) { - this.row = new RowBuffer(capacity, resizer); - this.row.initLayout(HybridRowVersion.V1, layout, resolver); - } - - public int getLength() { - return this.row.length(); - } - - public RowReader GetReader() { - Reference tempReference_row = new Reference(this.row); - // TODO: C# TO JAVA CONVERTER: The following line could not be converted: - return new RowReader(ref this.row) - this.row = tempReference_row.get(); - return tempVar; - } - - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is input or - // output: - public boolean ReadFrom(InputStream stream, int length) { - return this.row.readFrom(stream, length, HybridRowVersion.V1, this.row.resolver()); - } - - public void Reset() { - Layout layout = this.row.resolver().resolve(this.row.header().schemaId().clone()); - this.row.initLayout(HybridRowVersion.V1, layout, this.row.resolver()); - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ToArray() - public byte[] ToArray() { - return this.row.toArray(); - } - - public Result WriteBuffer(HashMap value) { - Reference tempReference_row = - new Reference(this.row); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - Result tempVar = RowWriter.writeBuffer(tempReference_row, value, (RowWriter RowWriter writer, TypeArgument typeArg, - HashMap dict) -> - { - for ((Utf8String propPath,Object propValue) :dict) - { - Reference tempReference_writer = - new Reference(writer); - Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer, propPath, propValue); - writer = tempReference_writer.get(); - return result; - } - - return Result.SUCCESS; - }); - this.row = tempReference_row.get(); - return tempVar; - } - - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is input or - // output: - public void WriteTo(OutputStream stream) { - this.row.writeTo(stream); - } - - public JsonModelRowGenerator clone() { - JsonModelRowGenerator varCopy = new JsonModelRowGenerator(); - varCopy.row = this.row.clone(); - return varCopy; - } - - private static Result JsonModelSwitch(Reference writer, Utf8String path, Object value) { - switch (value) { - case null: - return writer.get().writeNull(path); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case bool x: - case - boolean x: - return writer.get().writeBoolean(path, x); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case long x: - case - long x: - return writer.get().writeInt64(path, x); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case double x: - case - double x: - return writer.get().writeFloat64(path, x); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case string x: - case String - x: - return writer.get().WriteString(path, x); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case Utf8String x: - case Utf8String - x: - return writer.get().WriteString(path, x.Span); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case byte[] x: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - case - byte[] x: - return writer.get().WriteBinary(path, x); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case ReadOnlyMemory x: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - case ReadOnlyMemory < Byte > x: - return writer.get().WriteBinary(path, x.Span); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case Dictionary x: - case HashMap < Utf8String, Object > x: - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these - // are not converted by C# to Java Converter: - return writer.get().writeScope(path, new TypeArgument(LayoutType.Object), x, - (RowWriter RowWriter writer2, TypeArgument typeArg, HashMap dict) -> - { - for ((Utf8String propPath,Object propValue) :dict) - { - Reference tempReference_writer2 = new Reference(writer2); - Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer2, propPath, propValue); - writer2 = tempReference_writer2.get(); - return result; - } - - return Result.SUCCESS; - }); - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: - //ORIGINAL LINE: case List x: - case ArrayList < Object > x: - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - return writer.get().writeScope(path, new TypeArgument(LayoutType.Array), x, (RowWriter RowWriter writer2, TypeArgument typeArg, ArrayList list) -> - { - for (Object elm : list) { - Reference tempReference_writer2 = new Reference(writer2); - Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer2, null, elm); - writer2 = tempReference_writer2.get(); - if (result != Result.SUCCESS) { - return result; - } - } - - return Result.SUCCESS; - }); - default: - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", value.getClass().getSimpleName())); - return Result.FAILURE; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.ISpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; +import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; + +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.HashMap; + +import static com.google.common.base.Strings.lenientFormat; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: public ref struct JsonModelRowGenerator +//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: +public final class JsonModelRowGenerator { + private RowBuffer row = new RowBuffer(); + + + public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver) { + this(capacity, layout, resolver, null); + } + + public JsonModelRowGenerator() { + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver, + // ISpanResizer resizer = default) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + public JsonModelRowGenerator(int capacity, Layout layout, LayoutResolver resolver, ISpanResizer resizer) { + this.row = new RowBuffer(capacity, resizer); + this.row.initLayout(HybridRowVersion.V1, layout, resolver); + } + + public int getLength() { + return this.row.length(); + } + + public RowReader GetReader() { + Reference tempReference_row = new Reference(this.row); + // TODO: C# TO JAVA CONVERTER: The following line could not be converted: + return new RowReader(ref this.row) + this.row = tempReference_row.get(); + return tempVar; + } + + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is input or + // output: + public boolean ReadFrom(InputStream stream, int length) { + return this.row.readFrom(stream, length, HybridRowVersion.V1, this.row.resolver()); + } + + public void Reset() { + Layout layout = this.row.resolver().resolve(this.row.header().schemaId().clone()); + this.row.initLayout(HybridRowVersion.V1, layout, this.row.resolver()); + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ToArray() + public byte[] ToArray() { + return this.row.toArray(); + } + + public Result WriteBuffer(HashMap value) { + Reference tempReference_row = + new Reference(this.row); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + Result tempVar = RowWriter.writeBuffer(tempReference_row, value, (RowWriter RowWriter writer, TypeArgument typeArg, + HashMap dict) -> + { + for ((Utf8String propPath,Object propValue) :dict) + { + Reference tempReference_writer = + new Reference(writer); + Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer, propPath, propValue); + writer = tempReference_writer.get(); + return result; + } + + return Result.SUCCESS; + }); + this.row = tempReference_row.get(); + return tempVar; + } + + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is input or + // output: + public void WriteTo(OutputStream stream) { + this.row.writeTo(stream); + } + + public JsonModelRowGenerator clone() { + JsonModelRowGenerator varCopy = new JsonModelRowGenerator(); + varCopy.row = this.row.clone(); + return varCopy; + } + + private static Result JsonModelSwitch(Reference writer, Utf8String path, Object value) { + switch (value) { + case null: + return writer.get().writeNull(path); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case bool x: + case + boolean x: + return writer.get().writeBoolean(path, x); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case long x: + case + long x: + return writer.get().writeInt64(path, x); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case double x: + case + double x: + return writer.get().writeFloat64(path, x); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case string x: + case String + x: + return writer.get().WriteString(path, x); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case Utf8String x: + case Utf8String + x: + return writer.get().WriteString(path, x.Span); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case byte[] x: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + case + byte[] x: + return writer.get().WriteBinary(path, x); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case ReadOnlyMemory x: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + case ReadOnlyMemory < Byte > x: + return writer.get().WriteBinary(path, x.Span); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case Dictionary x: + case HashMap < Utf8String, Object > x: + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these + // are not converted by C# to Java Converter: + return writer.get().writeScope(path, new TypeArgument(LayoutType.Object), x, + (RowWriter RowWriter writer2, TypeArgument typeArg, HashMap dict) -> + { + for ((Utf8String propPath,Object propValue) :dict) + { + Reference tempReference_writer2 = new Reference(writer2); + Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer2, propPath, propValue); + writer2 = tempReference_writer2.get(); + return result; + } + + return Result.SUCCESS; + }); + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# pattern variables in 'case' statements: + //ORIGINAL LINE: case List x: + case ArrayList < Object > x: + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + return writer.get().writeScope(path, new TypeArgument(LayoutType.Array), x, (RowWriter RowWriter writer2, TypeArgument typeArg, ArrayList list) -> + { + for (Object elm : list) { + Reference tempReference_writer2 = new Reference(writer2); + Result result = JsonModelRowGenerator.JsonModelSwitch(tempReference_writer2, null, elm); + writer2 = tempReference_writer2.get(); + if (result != Result.SUCCESS) { + return result; + } + } + + return Result.SUCCESS; + }); + default: + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", value.getClass().getSimpleName())); + return Result.FAILURE; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java index 3048ad9..6455845 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/Measurements.java @@ -1,62 +1,62 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import java.io.Closeable; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStreamWriter; -import java.time.LocalDateTime; - -public class Measurements implements Closeable { - private static final long RunId = LocalDateTime.UtcNow.getTime(); - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream is - // input or output: - private FileStream file; - private TextWriter writer; - - public Measurements(String path) { - File info = new File(path); - if (info.exists()) { - this.file = new FileOutputStream(path, true); - this.writer = new OutputStreamWriter(this.file, java.nio.charset.StandardCharsets.US_ASCII); - } else { - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream - // is input or output: - this.file = new FileStream(path, FileMode.CreateNew); - this.writer = new OutputStreamWriter(this.file, java.nio.charset.StandardCharsets.US_ASCII); - this.writer.WriteLine("RunId,Model,Operation,Schema,API,Iterations,Size (bytes),Total (ms),Duration (ms)," + - "Allocated (bytes),ThreadId,Gen0,Gen1,Gen2,Total Allocated (bytes)"); - } - } - - public final void WriteMeasurement(String model, String operation, String schema, String api, - int outerLoopIterations, int innerLoopIterations, long totalSize, - double totalDurationMs, int threadId, int gen0, int gen1, int gen2, - long totalAllocatedBytes) { - System.out.printf("RunId: %1$s, \nModel: %2$s \nOperation: %3$s \nSchema: %4$s \nAPI: %5$s" + "\r\n", - Measurements.RunId, model, operation, schema, api); - - System.out.printf("\n\nIterations: %1$s \nSize (bytes): %1.0f \nTotal (ms): %2.4f \nDuration (ms): %3.4f " + - "\nAllocated (bytes): %4.4f" + "\r\n", outerLoopIterations, totalSize / outerLoopIterations, - totalDurationMs, totalDurationMs / (outerLoopIterations * innerLoopIterations), - totalAllocatedBytes / (outerLoopIterations * innerLoopIterations)); - - // TODO: C# TO JAVA CONVERTER: The '4:n0' format specifier is not converted to Java: - System.out.printf("\n\nThread: %1$s \nCollections: %2$s, %3$s, %4$s \nTotal Allocated: {4:n0} (bytes)" + "\r" + - "\n", threadId, gen0, gen1, gen2, totalAllocatedBytes); - - - this.writer.WriteLine("{0},{1},{2},{3},{4},{5},{6:F0},{7:F8},{8:F8},{9:F8},{10},{11},{12},{13},{14:0}", - Measurements.RunId, model, operation, schema, api, outerLoopIterations, totalSize / outerLoopIterations, - totalDurationMs, totalDurationMs / (outerLoopIterations * innerLoopIterations), totalAllocatedBytes / (outerLoopIterations * innerLoopIterations), threadId, gen0, gen1, gen2, totalAllocatedBytes); - } - - public final void close() throws IOException { - this.writer.Flush(); - this.writer.Dispose(); - this.file.Dispose(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import java.io.Closeable; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.time.LocalDateTime; + +public class Measurements implements Closeable { + private static final long RunId = LocalDateTime.UtcNow.getTime(); + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream is + // input or output: + private FileStream file; + private TextWriter writer; + + public Measurements(String path) { + File info = new File(path); + if (info.exists()) { + this.file = new FileOutputStream(path, true); + this.writer = new OutputStreamWriter(this.file, java.nio.charset.StandardCharsets.US_ASCII); + } else { + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream + // is input or output: + this.file = new FileStream(path, FileMode.CreateNew); + this.writer = new OutputStreamWriter(this.file, java.nio.charset.StandardCharsets.US_ASCII); + this.writer.WriteLine("RunId,Model,Operation,Schema,API,Iterations,Size (bytes),Total (ms),Duration (ms)," + + "Allocated (bytes),ThreadId,Gen0,Gen1,Gen2,Total Allocated (bytes)"); + } + } + + public final void WriteMeasurement(String model, String operation, String schema, String api, + int outerLoopIterations, int innerLoopIterations, long totalSize, + double totalDurationMs, int threadId, int gen0, int gen1, int gen2, + long totalAllocatedBytes) { + System.out.printf("RunId: %1$s, \nModel: %2$s \nOperation: %3$s \nSchema: %4$s \nAPI: %5$s" + "\r\n", + Measurements.RunId, model, operation, schema, api); + + System.out.printf("\n\nIterations: %1$s \nSize (bytes): %1.0f \nTotal (ms): %2.4f \nDuration (ms): %3.4f " + + "\nAllocated (bytes): %4.4f" + "\r\n", outerLoopIterations, totalSize / outerLoopIterations, + totalDurationMs, totalDurationMs / (outerLoopIterations * innerLoopIterations), + totalAllocatedBytes / (outerLoopIterations * innerLoopIterations)); + + // TODO: C# TO JAVA CONVERTER: The '4:n0' format specifier is not converted to Java: + System.out.printf("\n\nThread: %1$s \nCollections: %2$s, %3$s, %4$s \nTotal Allocated: {4:n0} (bytes)" + "\r" + + "\n", threadId, gen0, gen1, gen2, totalAllocatedBytes); + + + this.writer.WriteLine("{0},{1},{2},{3},{4},{5},{6:F0},{7:F8},{8:F8},{9:F8},{10},{11},{12},{13},{14:0}", + Measurements.RunId, model, operation, schema, api, outerLoopIterations, totalSize / outerLoopIterations, + totalDurationMs, totalDurationMs / (outerLoopIterations * innerLoopIterations), totalAllocatedBytes / (outerLoopIterations * innerLoopIterations), threadId, gen0, gen1, gen2, totalAllocatedBytes); + } + + public final void close() throws IOException { + this.writer.Flush(); + this.writer.Dispose(); + this.file.Dispose(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java index f5cfb58..cf5d8c5 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/MicroBenchmarkSuiteBase.java @@ -1,127 +1,127 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import JetBrains.Profiler.Api.*; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.core.Reference; - -import java.util.ArrayList; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", Justification -// = "Perf Benchmark")] public class MicroBenchmarkSuiteBase : BenchmarkSuiteBase -public class MicroBenchmarkSuiteBase extends BenchmarkSuiteBase { - private static final String MetricsResultFile = "HybridRowPerf.csv"; - private static final int WarmCount = 5; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", - // Justification = "Perf Benchmark")] private protected static void Benchmark(string model, string - // operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context, - // BenchmarkBody loopBody, BenchmarkMeasure measure, List expected) - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", - // Justification = "Perf Benchmark")] private protected static void Benchmark(string model, string - // operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context, - // BenchmarkBody loopBody, BenchmarkMeasure measure, List expected) - protected static void Benchmark(String model, String operation, String schema, String api, - int innerLoopIterations, Reference context, - BenchmarkBody loopBody, BenchmarkMeasure measure, - ArrayList expected) { - Stopwatch sw = new Stopwatch(); - double durationMs = 0; - long rowSize = 0; - - // Warm - int warm = Math.min(MicroBenchmarkSuiteBase.WarmCount, expected.size()); - for (int i = 0; i < warm; i++) { - for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) { - loopBody.invoke(context, expected.get(i)); - } - } - - // Execute - System.gc(); - System.runFinalization(); - Thread.sleep(1000); - int gen0 = GC.CollectionCount(0); - int gen1 = GC.CollectionCount(1); - int gen2 = GC.CollectionCount(2); - long allocated = GC.GetAllocatedBytesForCurrentThread(); - int threadId = Thread.currentThread().ManagedThreadId; - ThreadPriority currentPriority = Thread.currentThread().Priority; - Thread.currentThread().Priority = ThreadPriority.Highest; - MemoryProfiler.CollectAllocations(true); - MemoryProfiler.GetSnapshot(); - try { - for (TValue tableValue : expected) { - sw.Restart(); - MicroBenchmarkSuiteBase.BenchmarkInnerLoop(innerLoopIterations, tableValue, context, loopBody); - sw.Stop(); - durationMs += sw.Elapsed.TotalMilliseconds; - rowSize += measure.invoke(context, tableValue); - } - } finally { - Thread.currentThread().Priority = currentPriority; - gen0 = GC.CollectionCount(0) - gen0; - gen1 = GC.CollectionCount(1) - gen1; - gen2 = GC.CollectionCount(2) - gen2; - allocated = GC.GetAllocatedBytesForCurrentThread() - allocated; - MemoryProfiler.GetSnapshot(); - MemoryProfiler.CollectAllocations(false); - } - - try (Measurements m = new Measurements(MicroBenchmarkSuiteBase.MetricsResultFile)) { - m.WriteMeasurement(model, operation, schema, api, expected.size(), innerLoopIterations, rowSize, - durationMs, threadId, gen0, gen1, gen2, allocated); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)] private static void BenchmarkInnerLoop(int - // innerLoopIterations, TValue tableValue, ref BenchmarkContext context, BenchmarkBody loopBody) - private static void BenchmarkInnerLoop(int innerLoopIterations, TValue tableValue, - Reference context, - BenchmarkBody loopBody) { - for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) { - loopBody.invoke(context, tableValue); - } - } - - @FunctionalInterface - public interface BenchmarkBody { - void invoke(Reference context, TValue value); - } - - @FunctionalInterface - public interface BenchmarkMeasure { - long invoke(Reference context, TValue value); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: private protected ref struct BenchmarkContext - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: - //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: - protected final static class BenchmarkContext { - public CodeGenRowGenerator CodeGenWriter = new CodeGenRowGenerator(); - public JsonModelRowGenerator JsonModelWriter = new JsonModelRowGenerator(); - public WriteRowGenerator PatchWriter = new WriteRowGenerator(); - public ProtobufRowGenerator ProtobufWriter = new ProtobufRowGenerator(); - public StreamingRowGenerator StreamingWriter = new StreamingRowGenerator(); - - public BenchmarkContext clone() { - BenchmarkContext varCopy = new BenchmarkContext(); - - varCopy.CodeGenWriter = this.CodeGenWriter.clone(); - varCopy.ProtobufWriter = this.ProtobufWriter.clone(); - varCopy.PatchWriter = this.PatchWriter.clone(); - varCopy.StreamingWriter = this.StreamingWriter.clone(); - varCopy.JsonModelWriter = this.JsonModelWriter.clone(); - - return varCopy; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import JetBrains.Profiler.Api.*; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.core.Reference; + +import java.util.ArrayList; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", Justification +// = "Perf Benchmark")] public class MicroBenchmarkSuiteBase : BenchmarkSuiteBase +public class MicroBenchmarkSuiteBase extends BenchmarkSuiteBase { + private static final String MetricsResultFile = "HybridRowPerf.csv"; + private static final int WarmCount = 5; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", + // Justification = "Perf Benchmark")] private protected static void Benchmark(string model, string + // operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context, + // BenchmarkBody loopBody, BenchmarkMeasure measure, List expected) + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", + // Justification = "Perf Benchmark")] private protected static void Benchmark(string model, string + // operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context, + // BenchmarkBody loopBody, BenchmarkMeasure measure, List expected) + protected static void Benchmark(String model, String operation, String schema, String api, + int innerLoopIterations, Reference context, + BenchmarkBody loopBody, BenchmarkMeasure measure, + ArrayList expected) { + Stopwatch sw = new Stopwatch(); + double durationMs = 0; + long rowSize = 0; + + // Warm + int warm = Math.min(MicroBenchmarkSuiteBase.WarmCount, expected.size()); + for (int i = 0; i < warm; i++) { + for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) { + loopBody.invoke(context, expected.get(i)); + } + } + + // Execute + System.gc(); + System.runFinalization(); + Thread.sleep(1000); + int gen0 = GC.CollectionCount(0); + int gen1 = GC.CollectionCount(1); + int gen2 = GC.CollectionCount(2); + long allocated = GC.GetAllocatedBytesForCurrentThread(); + int threadId = Thread.currentThread().ManagedThreadId; + ThreadPriority currentPriority = Thread.currentThread().Priority; + Thread.currentThread().Priority = ThreadPriority.Highest; + MemoryProfiler.CollectAllocations(true); + MemoryProfiler.GetSnapshot(); + try { + for (TValue tableValue : expected) { + sw.Restart(); + MicroBenchmarkSuiteBase.BenchmarkInnerLoop(innerLoopIterations, tableValue, context, loopBody); + sw.Stop(); + durationMs += sw.Elapsed.TotalMilliseconds; + rowSize += measure.invoke(context, tableValue); + } + } finally { + Thread.currentThread().Priority = currentPriority; + gen0 = GC.CollectionCount(0) - gen0; + gen1 = GC.CollectionCount(1) - gen1; + gen2 = GC.CollectionCount(2) - gen2; + allocated = GC.GetAllocatedBytesForCurrentThread() - allocated; + MemoryProfiler.GetSnapshot(); + MemoryProfiler.CollectAllocations(false); + } + + try (Measurements m = new Measurements(MicroBenchmarkSuiteBase.MetricsResultFile)) { + m.WriteMeasurement(model, operation, schema, api, expected.size(), innerLoopIterations, rowSize, + durationMs, threadId, gen0, gen1, gen2, allocated); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)] private static void BenchmarkInnerLoop(int + // innerLoopIterations, TValue tableValue, ref BenchmarkContext context, BenchmarkBody loopBody) + private static void BenchmarkInnerLoop(int innerLoopIterations, TValue tableValue, + Reference context, + BenchmarkBody loopBody) { + for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) { + loopBody.invoke(context, tableValue); + } + } + + @FunctionalInterface + public interface BenchmarkBody { + void invoke(Reference context, TValue value); + } + + @FunctionalInterface + public interface BenchmarkMeasure { + long invoke(Reference context, TValue value); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: private protected ref struct BenchmarkContext + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: + //C# TO JAVA CONVERTER WARNING: Java has no equivalent to C# 'private protected' access: + protected final static class BenchmarkContext { + public CodeGenRowGenerator CodeGenWriter = new CodeGenRowGenerator(); + public JsonModelRowGenerator JsonModelWriter = new JsonModelRowGenerator(); + public WriteRowGenerator PatchWriter = new WriteRowGenerator(); + public ProtobufRowGenerator ProtobufWriter = new ProtobufRowGenerator(); + public StreamingRowGenerator StreamingWriter = new StreamingRowGenerator(); + + public BenchmarkContext clone() { + BenchmarkContext varCopy = new BenchmarkContext(); + + varCopy.CodeGenWriter = this.CodeGenWriter.clone(); + varCopy.ProtobufWriter = this.ProtobufWriter.clone(); + varCopy.PatchWriter = this.PatchWriter.clone(); + varCopy.StreamingWriter = this.StreamingWriter.clone(); + varCopy.JsonModelWriter = this.JsonModelWriter.clone(); + + return varCopy; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java index da4fac3..c97a39a 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ProtobufRowGenerator.java @@ -1,338 +1,338 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import Google.Protobuf.*; -import Google.Protobuf.Collections.*; -import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Address; -import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date; -import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests; -import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels; -import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.PostalCode; - -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.UUID; - -import static com.google.common.base.Strings.lenientFormat; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable DontUseNamespaceAliases // Namespace Aliases should be avoided - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning restore DontUseNamespaceAliases // Namespace Aliases should be avoided - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal ref struct ProtobufRowGenerator -//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: -public final class ProtobufRowGenerator { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private ReadOnlySpan active; - private ReadOnlySpan active; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private readonly byte[] buffer; - private byte[] buffer; - private String schemaName; - - public ProtobufRowGenerator() { - } - - public ProtobufRowGenerator(String schemaName, int capacity) { - this.schemaName = schemaName; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.buffer = new byte[capacity]; - this.buffer = new byte[capacity]; - this.active = this.buffer; - } - - public int getLength() { - return this.active.Length; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public void ReadBuffer(byte[] buffer) - public void ReadBuffer(byte[] buffer) { - switch (this.schemaName) { - case "Hotels": - ProtobufRowGenerator.ReadBufferHotel(buffer); - break; - - case "Guests": - ProtobufRowGenerator.ReadBufferGuest(buffer); - break; - - case "Available_Rooms_By_Hotel_Date": - ProtobufRowGenerator.ReadBufferRoom(buffer); - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", this.schemaName)); - break; - } - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ToArray() - public byte[] ToArray() { - return this.active.ToArray(); - } - - public void WriteBuffer(HashMap tableValue) { - switch (this.schemaName) { - case "Hotels": - this.WriteBufferHotel(tableValue); - break; - - case "Guests": - this.WriteBufferGuest(tableValue); - break; - - case "Available_Rooms_By_Hotel_Date": - this.WriteBufferRoom(tableValue); - break; - - default: - throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", this.schemaName)); - break; - } - } - - public ProtobufRowGenerator clone() { - ProtobufRowGenerator varCopy = new ProtobufRowGenerator(); - - varCopy.schemaName = this.schemaName; - varCopy.buffer = this.buffer; - varCopy.active = this.active; - - return varCopy; - } - - private static Address MakeAddress(HashMap tableValue) { - Address address = new Address(); - for ((Utf8String key,Object value) :tableValue) - { - switch (key.toString()) { - case "street": - address.setStreet(value == null ? null : ((Utf8String)value).toString()); - break; - - case "city": - address.setCity(value == null ? null : ((Utf8String)value).toString()); - break; - - case "state": - address.setState(value == null ? null : ((Utf8String)value).toString()); - break; - - case "postal_code": - address.setPostalCode(value == null ? null : ProtobufRowGenerator.MakePostalCode((HashMap)value)); - break; - - default: - throw new IllegalStateException(); - break; - } - } - - return address; - } - - private static PostalCode MakePostalCode(HashMap tableValue) { - PostalCode postalCode = new PostalCode(); - for ((Utf8String key,Object value) :tableValue) - { - switch (key.toString()) { - case "zip": - postalCode.setZip((Integer)value); - break; - - case "plus4": - postalCode.setPlus4((Short)value); - break; - - default: - throw new IllegalStateException(); - break; - } - } - - return postalCode; - } - - private static void PopulateStringAddressMap(MapField field, - ArrayList list) { - for (Object item : list) { - ArrayList tuple = (ArrayList)item; - String key = ((Utf8String)tuple.get(0)).toString(); - Address value = - ProtobufRowGenerator.MakeAddress((HashMap)tuple.get(1)); - field.Add(key, value); - } - } - - private static void PopulateStringList(RepeatedField field, ArrayList list) { - for (Object item : list) { - field.Add(((Utf8String)item).toString()); - } - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private static void ReadBufferGuest(byte[] buffer) - private static void ReadBufferGuest(byte[] buffer) { - Guests item = - new Guests(); - item.MergeFrom(buffer); - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private static void ReadBufferHotel(byte[] buffer) - private static void ReadBufferHotel(byte[] buffer) { - Hotels item = - new Hotels(); - item.MergeFrom(buffer); - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private static void ReadBufferRoom(byte[] buffer) - private static void ReadBufferRoom(byte[] buffer) { - Available_Rooms_By_Hotel_Date item = new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date(); - item.MergeFrom(buffer); - } - - private void WriteBufferGuest(HashMap tableValue) { - azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests room = - new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests(); - try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { - for ((Utf8String key,Object value) :tableValue) - { - switch (key.toString()) { - case "guest_id": - room.setGuestId(value == null ? null : ((UUID)value).toString()); - break; - - case "first_name": - room.setFirstName(value == null ? null : ((Utf8String)value).toString()); - break; - - case "last_name": - room.setLastName(value == null ? null : ((Utf8String)value).toString()); - break; - - case "title": - room.setTitle(value == null ? null : ((Utf8String)value).toString()); - break; - - case "emails": - if (value != null) { - ProtobufRowGenerator.PopulateStringList(room.getEmails(), (ArrayList)value); - } - - break; - - case "phone_numbers": - if (value != null) { - ProtobufRowGenerator.PopulateStringList(room.getPhoneNumbers(), (ArrayList)value); - } - - break; - - case "addresses": - if (value != null) { - ProtobufRowGenerator.PopulateStringAddressMap(room.getAddresses(), - (ArrayList)value); - } - - break; - - case "confirm_number": - room.setConfirmNumber(value == null ? null : ((Utf8String)value).toString()); - break; - - default: - Assert.Fail("should never happen"); - break; - } - } - - room.WriteTo(stm); - stm.Flush(); - this.active = this.buffer.AsSpan(0, (int)stm.Position); - } - } - - private void WriteBufferHotel(HashMap tableValue) { - azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels room = - new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels(); - try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { - for ((Utf8String key,Object value) :tableValue) - { - switch (key.toString()) { - case "hotel_id": - room.setHotelId(value == null ? null : ((Utf8String)value).toString()); - break; - - case "name": - room.setName(value == null ? null : ((Utf8String)value).toString()); - break; - - case "phone": - room.setPhone(value == null ? null : ((Utf8String)value).toString()); - break; - - case "address": - room.setAddress(value == null ? null : ProtobufRowGenerator.MakeAddress((HashMap)value)); - break; - - default: - Assert.Fail("should never happen"); - break; - } - } - - room.WriteTo(stm); - stm.Flush(); - this.active = this.buffer.AsSpan(0, (int)stm.Position); - } - } - - private void WriteBufferRoom(HashMap tableValue) { - azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date room = new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date(); - try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { - for ((Utf8String key,Object value) :tableValue) - { - switch (key.toString()) { - case "hotel_id": - room.setHotelId(value == null ? null : ((Utf8String)value).toString()); - break; - - case "date": - room.setDate(value == null ? null : ((LocalDateTime)value).getTime()); - break; - - case "room_number": - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: room.RoomNumber = (Nullable)value; - room.setRoomNumber((Byte)value); - break; - - case "is_available": - room.setIsAvailable((Boolean)value); - break; - - default: - Assert.Fail("should never happen"); - break; - } - } - - room.WriteTo(stm); - stm.Flush(); - this.active = this.buffer.AsSpan(0, (int)stm.Position); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import Google.Protobuf.*; +import Google.Protobuf.Collections.*; +import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Address; +import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date; +import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests; +import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels; +import com.azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.PostalCode; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.UUID; + +import static com.google.common.base.Strings.lenientFormat; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable DontUseNamespaceAliases // Namespace Aliases should be avoided + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning restore DontUseNamespaceAliases // Namespace Aliases should be avoided + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal ref struct ProtobufRowGenerator +//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: +public final class ProtobufRowGenerator { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private ReadOnlySpan active; + private ReadOnlySpan active; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private readonly byte[] buffer; + private byte[] buffer; + private String schemaName; + + public ProtobufRowGenerator() { + } + + public ProtobufRowGenerator(String schemaName, int capacity) { + this.schemaName = schemaName; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.buffer = new byte[capacity]; + this.buffer = new byte[capacity]; + this.active = this.buffer; + } + + public int getLength() { + return this.active.Length; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public void ReadBuffer(byte[] buffer) + public void ReadBuffer(byte[] buffer) { + switch (this.schemaName) { + case "Hotels": + ProtobufRowGenerator.ReadBufferHotel(buffer); + break; + + case "Guests": + ProtobufRowGenerator.ReadBufferGuest(buffer); + break; + + case "Available_Rooms_By_Hotel_Date": + ProtobufRowGenerator.ReadBufferRoom(buffer); + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", this.schemaName)); + break; + } + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ToArray() + public byte[] ToArray() { + return this.active.ToArray(); + } + + public void WriteBuffer(HashMap tableValue) { + switch (this.schemaName) { + case "Hotels": + this.WriteBufferHotel(tableValue); + break; + + case "Guests": + this.WriteBufferGuest(tableValue); + break; + + case "Available_Rooms_By_Hotel_Date": + this.WriteBufferRoom(tableValue); + break; + + default: + throw new IllegalStateException(lenientFormat("Unknown schema will be ignored: %s", this.schemaName)); + break; + } + } + + public ProtobufRowGenerator clone() { + ProtobufRowGenerator varCopy = new ProtobufRowGenerator(); + + varCopy.schemaName = this.schemaName; + varCopy.buffer = this.buffer; + varCopy.active = this.active; + + return varCopy; + } + + private static Address MakeAddress(HashMap tableValue) { + Address address = new Address(); + for ((Utf8String key,Object value) :tableValue) + { + switch (key.toString()) { + case "street": + address.setStreet(value == null ? null : ((Utf8String)value).toString()); + break; + + case "city": + address.setCity(value == null ? null : ((Utf8String)value).toString()); + break; + + case "state": + address.setState(value == null ? null : ((Utf8String)value).toString()); + break; + + case "postal_code": + address.setPostalCode(value == null ? null : ProtobufRowGenerator.MakePostalCode((HashMap)value)); + break; + + default: + throw new IllegalStateException(); + break; + } + } + + return address; + } + + private static PostalCode MakePostalCode(HashMap tableValue) { + PostalCode postalCode = new PostalCode(); + for ((Utf8String key,Object value) :tableValue) + { + switch (key.toString()) { + case "zip": + postalCode.setZip((Integer)value); + break; + + case "plus4": + postalCode.setPlus4((Short)value); + break; + + default: + throw new IllegalStateException(); + break; + } + } + + return postalCode; + } + + private static void PopulateStringAddressMap(MapField field, + ArrayList list) { + for (Object item : list) { + ArrayList tuple = (ArrayList)item; + String key = ((Utf8String)tuple.get(0)).toString(); + Address value = + ProtobufRowGenerator.MakeAddress((HashMap)tuple.get(1)); + field.Add(key, value); + } + } + + private static void PopulateStringList(RepeatedField field, ArrayList list) { + for (Object item : list) { + field.Add(((Utf8String)item).toString()); + } + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private static void ReadBufferGuest(byte[] buffer) + private static void ReadBufferGuest(byte[] buffer) { + Guests item = + new Guests(); + item.MergeFrom(buffer); + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private static void ReadBufferHotel(byte[] buffer) + private static void ReadBufferHotel(byte[] buffer) { + Hotels item = + new Hotels(); + item.MergeFrom(buffer); + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private static void ReadBufferRoom(byte[] buffer) + private static void ReadBufferRoom(byte[] buffer) { + Available_Rooms_By_Hotel_Date item = new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date(); + item.MergeFrom(buffer); + } + + private void WriteBufferGuest(HashMap tableValue) { + azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests room = + new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Guests(); + try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { + for ((Utf8String key,Object value) :tableValue) + { + switch (key.toString()) { + case "guest_id": + room.setGuestId(value == null ? null : ((UUID)value).toString()); + break; + + case "first_name": + room.setFirstName(value == null ? null : ((Utf8String)value).toString()); + break; + + case "last_name": + room.setLastName(value == null ? null : ((Utf8String)value).toString()); + break; + + case "title": + room.setTitle(value == null ? null : ((Utf8String)value).toString()); + break; + + case "emails": + if (value != null) { + ProtobufRowGenerator.PopulateStringList(room.getEmails(), (ArrayList)value); + } + + break; + + case "phone_numbers": + if (value != null) { + ProtobufRowGenerator.PopulateStringList(room.getPhoneNumbers(), (ArrayList)value); + } + + break; + + case "addresses": + if (value != null) { + ProtobufRowGenerator.PopulateStringAddressMap(room.getAddresses(), + (ArrayList)value); + } + + break; + + case "confirm_number": + room.setConfirmNumber(value == null ? null : ((Utf8String)value).toString()); + break; + + default: + Assert.Fail("should never happen"); + break; + } + } + + room.WriteTo(stm); + stm.Flush(); + this.active = this.buffer.AsSpan(0, (int)stm.Position); + } + } + + private void WriteBufferHotel(HashMap tableValue) { + azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels room = + new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Hotels(); + try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { + for ((Utf8String key,Object value) :tableValue) + { + switch (key.toString()) { + case "hotel_id": + room.setHotelId(value == null ? null : ((Utf8String)value).toString()); + break; + + case "name": + room.setName(value == null ? null : ((Utf8String)value).toString()); + break; + + case "phone": + room.setPhone(value == null ? null : ((Utf8String)value).toString()); + break; + + case "address": + room.setAddress(value == null ? null : ProtobufRowGenerator.MakeAddress((HashMap)value)); + break; + + default: + Assert.Fail("should never happen"); + break; + } + } + + room.WriteTo(stm); + stm.Flush(); + this.active = this.buffer.AsSpan(0, (int)stm.Position); + } + } + + private void WriteBufferRoom(HashMap tableValue) { + azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date room = new azure.data.cosmos.serialization.hybridrow.perf.CassandraHotel.Protobuf.Available_Rooms_By_Hotel_Date(); + try (CodedOutputStream stm = new CodedOutputStream(this.buffer)) { + for ((Utf8String key,Object value) :tableValue) + { + switch (key.toString()) { + case "hotel_id": + room.setHotelId(value == null ? null : ((Utf8String)value).toString()); + break; + + case "date": + room.setDate(value == null ? null : ((LocalDateTime)value).getTime()); + break; + + case "room_number": + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: room.RoomNumber = (Nullable)value; + room.setRoomNumber((Byte)value); + break; + + case "is_available": + room.setIsAvailable((Boolean)value); + break; + + default: + Assert.Fail("should never happen"); + break; + } + } + + room.WriteTo(stm); + stm.Flush(); + this.active = this.buffer.AsSpan(0, (int)stm.Position); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java index e54a33e..cf1df3d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/ReaderBenchmark.java @@ -1,317 +1,317 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; -import com.azure.data.cosmos.serialization.hybridrow.io.Segment; - -import java.io.Closeable; -import java.io.File; -import java.io.IOException; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", -// Justification = "Perf Benchmark")][DeploymentItem("TestData\\*.hr", "TestData")] public sealed class ReaderBenchmark -public final class ReaderBenchmark { - private static final String CombinedScriptsData = "TestData\\CombinedScriptsData.hr"; - private static final int InitialCapacity = 2 * 1024 * 1024; - private static final int MeasureCount = 10; - private static final int WarmCount = 5; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task AllAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task AllAsync() - public Task AllAsync() { - final String dir = "E:\\TestData\\HybridRow"; - for (File childFile : (new File(dir)).EnumerateFiles("*.hr")) { - try (BenchmarkContext context = new BenchmarkContext(childFile.getPath(), false, false)) { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await ReaderBenchmark. - BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(ReaderBenchmark.CombinedScriptsData, "TestData")] - // public async Task RowReaderAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(ReaderBenchmark.CombinedScriptsData, "TestData")] - // public async Task RowReaderAsync() - public Task RowReaderAsync() { - try (BenchmarkContext context = new BenchmarkContext(ReaderBenchmark.CombinedScriptsData, true, true)) { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await ReaderBenchmark.BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task SpecificFileAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task SpecificFileAsync() - public Task SpecificFileAsync() { - final String filename = "E:\\TestData\\HybridRow\\Lastfm.hr"; - try (BenchmarkContext context = new BenchmarkContext(filename, true, true)) { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await ReaderBenchmark.BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", - // Justification = "Perf Benchmark")] private static async Task BenchmarkAsync(BenchmarkContext context, - // Func body) - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", - // Justification = "Perf Benchmark")] private static async Task BenchmarkAsync(BenchmarkContext context, - // Func body) - private static Task BenchmarkAsync(BenchmarkContext context, tangible.Func1Param body) { - try (SingleThreadedTaskScheduler scheduler = new SingleThreadedTaskScheduler()) { - // Warm - System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); - for (int i = 0; i < ReaderBenchmark.WarmCount; i++) { - context.Reset(); - sw.Restart(); - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await Task. - Factory.StartNew(body, context, CancellationToken.None, TaskCreationOptions.None, scheduler).Unwrap(); - sw.Stop(); - if (context.getShowWarmSummary()) { - context.Summarize(sw.Elapsed); - } - } - - // Execute - double[] timing = new double[ReaderBenchmark.MeasureCount]; - for (int i = 0; i < ReaderBenchmark.MeasureCount; i++) { - System.gc(); - System.runFinalization(); - context.Reset(); - sw.Restart(); - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - await Task. - Factory.StartNew(body, context, CancellationToken.None, TaskCreationOptions.None, scheduler).Unwrap(); - sw.Stop(); - if (context.getShowSummary()) { - context.Summarize(sw.Elapsed); - } - - timing[i] = sw.Elapsed.TotalMilliseconds; - } - - Arrays.sort(timing); - System.out.println(String.format("File: %1$s, Mean: %1.4f", - Path.GetFileNameWithoutExtension(context.getInputFile()), timing[ReaderBenchmark.MeasureCount / 2])); - } - } - - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: private static async Task RowReaderBenchmarkAsync(object ctx) - private static Task RowReaderBenchmarkAsync(Object ctx) { - BenchmarkContext context = (BenchmarkContext)ctx; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(ReaderBenchmark.InitialCapacity); - MemorySpanResizer resizer = new MemorySpanResizer(ReaderBenchmark.InitialCapacity); - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - Result r = await - RecordIOStream.ReadRecordIOAsync(context.getInput(), - record -> - { - context.IncrementRecordCount(); - r = ReaderBenchmark.VisitOneRow(record, context.getResolver()); - assert Result.SUCCESS == r; - return Result.SUCCESS; - }, segment -> - { - Segment _; - Out tempOut__ = - new Out(); - r = SegmentSerializer.Read(segment.Span, context.getResolver(), tempOut__); - _ = tempOut__.get(); - assert Result.SUCCESS == r; - - // TODO: do something with embedded schema. - return Result.SUCCESS; - }, resizer); - - assert Result.SUCCESS == r; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private static Result VisitOneRow(Memory buffer, LayoutResolver resolver) - private static Result VisitOneRow(Memory buffer, LayoutResolver resolver) { - RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver); - Reference tempReference_row = - new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - return RowReaderExtensions.VisitReader(reader.clone()); - } - - private final static class BenchmarkContext implements Closeable { - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is - // input or output: - private Stream input; - private String inputFile; - private long recordCount; - private LayoutResolver resolver; - private boolean showSummary; - private boolean showWarmSummary; - - - public BenchmarkContext(String inputFile, boolean showSummary) { - this(inputFile, showSummary, false); - } - - public BenchmarkContext(String inputFile) { - this(inputFile, true, false); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public BenchmarkContext(string inputFile, bool showSummary = true, bool showWarmSummary = - // false) - public BenchmarkContext(String inputFile, boolean showSummary, boolean showWarmSummary) { - this.inputFile = inputFile; - this.showSummary = showSummary; - this.showWarmSummary = showWarmSummary; - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream - // is input or output: - this.input = new FileStream(inputFile, FileMode.Open); - this.resolver = SystemSchema.LayoutResolver; - } - - // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is - // input or output: - public Stream getInput() { - return this.input; - } - - public String getInputFile() { - return this.inputFile; - } - - public LayoutResolver getResolver() { - return this.resolver; - } - - public boolean getShowSummary() { - return this.showSummary; - } - - public boolean getShowWarmSummary() { - return this.showWarmSummary; - } - - public void IncrementRecordCount() { - this.recordCount++; - } - - public void Reset() { - this.recordCount = 0; - this.input.Seek(0, SeekOrigin.Begin); - } - - public void Summarize(TimeSpan duration) { - System.out.print(String.format("Total Time: %0.4f, ", duration.TotalMilliseconds)); - System.out.println(String.format("Record Count: %1$s", this.recordCount)); - } - - public void close() throws IOException { - this.input.Dispose(); - } - } - - private final static class SingleThreadedTaskScheduler extends TaskScheduler implements Closeable { - private CancellationTokenSource cancel; - private EventWaitHandle ready; - private ConcurrentQueue tasks; - private Thread worker; - - // Creates a new instance with the specified degree of parallelism. - public SingleThreadedTaskScheduler() { - this.tasks = new ConcurrentQueue(); - this.ready = new ManualResetEvent(false); - this.worker = new Thread() { - void run() { - this.DoWork(); - } - }; - this.cancel = new CancellationTokenSource(); - this.worker.start(); - } - - // Gets the maximum concurrency level supported by this scheduler. - @Override - public int getMaximumConcurrencyLevel() { - return 1; - } - - public void close() throws IOException { - if (!this.cancel.IsCancellationRequested) { - this.cancel.Cancel(); - this.worker.join(); - this.ready == null ? null : this.ready.Dispose(); - this.cancel == null ? null : this.cancel.Dispose(); - } - } - - @Override - protected java.lang.Iterable GetScheduledTasks() { - return null; - } - - // Queues a task to the scheduler. - @Override - protected void QueueTask(Task task) { - synchronized (this.tasks) { - this.tasks.Enqueue(task); - if (Thread.currentThread() != this.worker) { - this.ready.Set(); - } - } - } - - @Override - protected boolean TryDequeue(Task task) { - return false; - } - - // Attempts to execute the specified task on the current thread. - @Override - protected boolean TryExecuteTaskInline(Task task, boolean taskWasPreviouslyQueued) { - // If this thread isn't already processing a task, we don't support inlining - if (Thread.currentThread() != this.worker) { - return false; - } - - // If the task was previously queued, then skip it. - if (taskWasPreviouslyQueued) { - return false; - } - - return this.TryExecuteTask(task); - } - - private void DoWork() { - while (!this.cancel.IsCancellationRequested) { - Task item; - Out tempOut_item = new Out(); - if (this.tasks.TryDequeue(tempOut_item)) { - item = tempOut_item.get(); - this.TryExecuteTask(item); - } else { - item = tempOut_item.get(); - this.ready.WaitOne(TimeSpan.FromSeconds(1)); - } - } - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; +import com.azure.data.cosmos.serialization.hybridrow.io.Segment; + +import java.io.Closeable; +import java.io.File; +import java.io.IOException; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", +// Justification = "Perf Benchmark")][DeploymentItem("TestData\\*.hr", "TestData")] public sealed class ReaderBenchmark +public final class ReaderBenchmark { + private static final String CombinedScriptsData = "TestData\\CombinedScriptsData.hr"; + private static final int InitialCapacity = 2 * 1024 * 1024; + private static final int MeasureCount = 10; + private static final int WarmCount = 5; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task AllAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task AllAsync() + public Task AllAsync() { + final String dir = "E:\\TestData\\HybridRow"; + for (File childFile : (new File(dir)).EnumerateFiles("*.hr")) { + try (BenchmarkContext context = new BenchmarkContext(childFile.getPath(), false, false)) { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await ReaderBenchmark. + BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(ReaderBenchmark.CombinedScriptsData, "TestData")] + // public async Task RowReaderAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(ReaderBenchmark.CombinedScriptsData, "TestData")] + // public async Task RowReaderAsync() + public Task RowReaderAsync() { + try (BenchmarkContext context = new BenchmarkContext(ReaderBenchmark.CombinedScriptsData, true, true)) { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await ReaderBenchmark.BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task SpecificFileAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][Ignore] public async Task SpecificFileAsync() + public Task SpecificFileAsync() { + final String filename = "E:\\TestData\\HybridRow\\Lastfm.hr"; + try (BenchmarkContext context = new BenchmarkContext(filename, true, true)) { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await ReaderBenchmark.BenchmarkAsync(context, (object arg) -> ReaderBenchmark.RowReaderBenchmarkAsync(arg)); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", + // Justification = "Perf Benchmark")] private static async Task BenchmarkAsync(BenchmarkContext context, + // Func body) + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [SuppressMessage("Microsoft.Reliability", "CA2001:Avoid calling problematic methods", + // Justification = "Perf Benchmark")] private static async Task BenchmarkAsync(BenchmarkContext context, + // Func body) + private static Task BenchmarkAsync(BenchmarkContext context, tangible.Func1Param body) { + try (SingleThreadedTaskScheduler scheduler = new SingleThreadedTaskScheduler()) { + // Warm + System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch(); + for (int i = 0; i < ReaderBenchmark.WarmCount; i++) { + context.Reset(); + sw.Restart(); + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await Task. + Factory.StartNew(body, context, CancellationToken.None, TaskCreationOptions.None, scheduler).Unwrap(); + sw.Stop(); + if (context.getShowWarmSummary()) { + context.Summarize(sw.Elapsed); + } + } + + // Execute + double[] timing = new double[ReaderBenchmark.MeasureCount]; + for (int i = 0; i < ReaderBenchmark.MeasureCount; i++) { + System.gc(); + System.runFinalization(); + context.Reset(); + sw.Restart(); + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + await Task. + Factory.StartNew(body, context, CancellationToken.None, TaskCreationOptions.None, scheduler).Unwrap(); + sw.Stop(); + if (context.getShowSummary()) { + context.Summarize(sw.Elapsed); + } + + timing[i] = sw.Elapsed.TotalMilliseconds; + } + + Arrays.sort(timing); + System.out.println(String.format("File: %1$s, Mean: %1.4f", + Path.GetFileNameWithoutExtension(context.getInputFile()), timing[ReaderBenchmark.MeasureCount / 2])); + } + } + + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: private static async Task RowReaderBenchmarkAsync(object ctx) + private static Task RowReaderBenchmarkAsync(Object ctx) { + BenchmarkContext context = (BenchmarkContext)ctx; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(ReaderBenchmark.InitialCapacity); + MemorySpanResizer resizer = new MemorySpanResizer(ReaderBenchmark.InitialCapacity); + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + Result r = await + RecordIOStream.ReadRecordIOAsync(context.getInput(), + record -> + { + context.IncrementRecordCount(); + r = ReaderBenchmark.VisitOneRow(record, context.getResolver()); + assert Result.SUCCESS == r; + return Result.SUCCESS; + }, segment -> + { + Segment _; + Out tempOut__ = + new Out(); + r = SegmentSerializer.Read(segment.Span, context.getResolver(), tempOut__); + _ = tempOut__.get(); + assert Result.SUCCESS == r; + + // TODO: do something with embedded schema. + return Result.SUCCESS; + }, resizer); + + assert Result.SUCCESS == r; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private static Result VisitOneRow(Memory buffer, LayoutResolver resolver) + private static Result VisitOneRow(Memory buffer, LayoutResolver resolver) { + RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver); + Reference tempReference_row = + new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + return RowReaderExtensions.VisitReader(reader.clone()); + } + + private final static class BenchmarkContext implements Closeable { + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is + // input or output: + private Stream input; + private String inputFile; + private long recordCount; + private LayoutResolver resolver; + private boolean showSummary; + private boolean showWarmSummary; + + + public BenchmarkContext(String inputFile, boolean showSummary) { + this(inputFile, showSummary, false); + } + + public BenchmarkContext(String inputFile) { + this(inputFile, true, false); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public BenchmarkContext(string inputFile, bool showSummary = true, bool showWarmSummary = + // false) + public BenchmarkContext(String inputFile, boolean showSummary, boolean showWarmSummary) { + this.inputFile = inputFile; + this.showSummary = showSummary; + this.showWarmSummary = showWarmSummary; + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.FileStream + // is input or output: + this.input = new FileStream(inputFile, FileMode.Open); + this.resolver = SystemSchema.LayoutResolver; + } + + // TODO: C# TO JAVA CONVERTER: C# to Java Converter cannot determine whether this System.IO.Stream is + // input or output: + public Stream getInput() { + return this.input; + } + + public String getInputFile() { + return this.inputFile; + } + + public LayoutResolver getResolver() { + return this.resolver; + } + + public boolean getShowSummary() { + return this.showSummary; + } + + public boolean getShowWarmSummary() { + return this.showWarmSummary; + } + + public void IncrementRecordCount() { + this.recordCount++; + } + + public void Reset() { + this.recordCount = 0; + this.input.Seek(0, SeekOrigin.Begin); + } + + public void Summarize(TimeSpan duration) { + System.out.print(String.format("Total Time: %0.4f, ", duration.TotalMilliseconds)); + System.out.println(String.format("Record Count: %1$s", this.recordCount)); + } + + public void close() throws IOException { + this.input.Dispose(); + } + } + + private final static class SingleThreadedTaskScheduler extends TaskScheduler implements Closeable { + private CancellationTokenSource cancel; + private EventWaitHandle ready; + private ConcurrentQueue tasks; + private Thread worker; + + // Creates a new instance with the specified degree of parallelism. + public SingleThreadedTaskScheduler() { + this.tasks = new ConcurrentQueue(); + this.ready = new ManualResetEvent(false); + this.worker = new Thread() { + void run() { + this.DoWork(); + } + }; + this.cancel = new CancellationTokenSource(); + this.worker.start(); + } + + // Gets the maximum concurrency level supported by this scheduler. + @Override + public int getMaximumConcurrencyLevel() { + return 1; + } + + public void close() throws IOException { + if (!this.cancel.IsCancellationRequested) { + this.cancel.Cancel(); + this.worker.join(); + this.ready == null ? null : this.ready.Dispose(); + this.cancel == null ? null : this.cancel.Dispose(); + } + } + + @Override + protected java.lang.Iterable GetScheduledTasks() { + return null; + } + + // Queues a task to the scheduler. + @Override + protected void QueueTask(Task task) { + synchronized (this.tasks) { + this.tasks.Enqueue(task); + if (Thread.currentThread() != this.worker) { + this.ready.Set(); + } + } + } + + @Override + protected boolean TryDequeue(Task task) { + return false; + } + + // Attempts to execute the specified task on the current thread. + @Override + protected boolean TryExecuteTaskInline(Task task, boolean taskWasPreviouslyQueued) { + // If this thread isn't already processing a task, we don't support inlining + if (Thread.currentThread() != this.worker) { + return false; + } + + // If the task was previously queued, then skip it. + if (taskWasPreviouslyQueued) { + return false; + } + + return this.TryExecuteTask(task); + } + + private void DoWork() { + while (!this.cancel.IsCancellationRequested) { + Task item; + Out tempOut_item = new Out(); + if (this.tasks.TryDequeue(tempOut_item)) { + item = tempOut_item.get(); + this.TryExecuteTask(item); + } else { + item = tempOut_item.get(); + this.ready.WaitOne(TimeSpan.FromSeconds(1)); + } + } + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java index 5cc9a17..4c3748f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/RowReaderExtensions.java @@ -1,88 +1,88 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Result; - -import static com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutCode.IMMUTABLE_TAGGED2_SCOPE; - -public final class RowReaderExtensions { - public static Result VisitReader(Reference reader) { - while (reader.get().Read()) { - Utf8Span path = reader.get().getPathSpan(); - switch (reader.get().getType().LayoutCode) { - case Null: - case Boolean: - case Int8: - case Int16: - case Int32: - case Int64: - case UInt8: - case UInt16: - case UInt32: - case UInt64: - case VarInt: - case VarUInt: - case Float32: - case Float64: - case Float128: - case Decimal: - case DateTime: - case UnixDateTime: - case Guid: - case MongoDbObjectId: - case Utf8: - case Binary: - break; - - case NullableScope: - case ImmutableNullableScope: { - if (!reader.get().getHasValue()) { - break; - } - - // TODO: C# TO JAVA CONVERTER: There is no 'goto' in Java: - goto case LayoutCode.TypedTupleScope - } - - case ObjectScope: - case ImmutableObjectScope: - case Schema: - case ImmutableSchema: - case ArrayScope: - case ImmutableArrayScope: - case TypedArrayScope: - case ImmutableTypedArrayScope: - case TypedSetScope: - case ImmutableTypedSetScope: - case TypedMapScope: - case ImmutableTypedMapScope: - case TupleScope: - case ImmutableTupleScope: - case TypedTupleScope: - case ImmutableTypedTupleScope: - case TaggedScope: - case ImmutableTaggedScope: - case Tagged2Scope: - case IMMUTABLE_TAGGED2_SCOPE: { - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - Result r = reader.get().ReadScope(null, (ref RowReader child, Object _) -> child.VisitReader()); - if (r != Result.SUCCESS) { - return r; - } - - break; - } - - default: { - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", reader.get().getType().LayoutCode)); - break; - } - } - } - - return Result.SUCCESS; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Result; + +import static com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutCode.IMMUTABLE_TAGGED2_SCOPE; + +public final class RowReaderExtensions { + public static Result VisitReader(Reference reader) { + while (reader.get().Read()) { + Utf8Span path = reader.get().getPathSpan(); + switch (reader.get().getType().LayoutCode) { + case Null: + case Boolean: + case Int8: + case Int16: + case Int32: + case Int64: + case UInt8: + case UInt16: + case UInt32: + case UInt64: + case VarInt: + case VarUInt: + case Float32: + case Float64: + case Float128: + case Decimal: + case DateTime: + case UnixDateTime: + case Guid: + case MongoDbObjectId: + case Utf8: + case Binary: + break; + + case NullableScope: + case ImmutableNullableScope: { + if (!reader.get().getHasValue()) { + break; + } + + // TODO: C# TO JAVA CONVERTER: There is no 'goto' in Java: + goto case LayoutCode.TypedTupleScope + } + + case ObjectScope: + case ImmutableObjectScope: + case Schema: + case ImmutableSchema: + case ArrayScope: + case ImmutableArrayScope: + case TypedArrayScope: + case ImmutableTypedArrayScope: + case TypedSetScope: + case ImmutableTypedSetScope: + case TypedMapScope: + case ImmutableTypedMapScope: + case TupleScope: + case ImmutableTupleScope: + case TypedTupleScope: + case ImmutableTypedTupleScope: + case TaggedScope: + case ImmutableTaggedScope: + case Tagged2Scope: + case IMMUTABLE_TAGGED2_SCOPE: { + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + Result r = reader.get().ReadScope(null, (ref RowReader child, Object _) -> child.VisitReader()); + if (r != Result.SUCCESS) { + return r; + } + + break; + } + + default: { + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", reader.get().getType().LayoutCode)); + break; + } + } + } + + return Result.SUCCESS; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java index 4fdff68..2ffddf7 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/SchematizedMicroBenchmarkSuite.java @@ -1,639 +1,639 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import MongoDB.Bson.IO.*; -import Newtonsoft.Json.*; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.HashMap; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TestData.SchemaFile, TestData.Target)] public sealed class -// SchematizedMicroBenchmarkSuite : MicroBenchmarkSuiteBase -public final class SchematizedMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { - private static final JsonSerializerSettings JsonSettings = new JsonSerializerSettings - private String sdl; - - { - NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task BsonGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task BsonGuestsReadBenchmarkAsync() - public Task BsonGuestsReadBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Guests", "Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task BsonGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task BsonGuestsWriteBenchmarkAsync() - public Task BsonGuestsWriteBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Guests", "Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task BsonHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task BsonHotelReadBenchmarkAsync() - public Task BsonHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task BsonHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task BsonHotelWriteBenchmarkAsync() - public Task BsonHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task BsonRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task BsonRoomsReadBenchmarkAsync() - public Task BsonRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 10000, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task BsonRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task BsonRoomsWriteBenchmarkAsync() - public Task BsonRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 10000, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task JsonGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task JsonGuestsReadBenchmarkAsync() - public Task JsonGuestsReadBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task JsonGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task JsonGuestsWriteBenchmarkAsync() - public Task JsonGuestsWriteBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task JsonHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task JsonHotelReadBenchmarkAsync() - public Task JsonHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task JsonHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task JsonHotelWriteBenchmarkAsync() - public Task JsonHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task JsonRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task JsonRoomsReadBenchmarkAsync() - public Task JsonRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Rooms", 10000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task JsonRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task JsonRoomsWriteBenchmarkAsync() - public Task JsonRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Rooms", 10000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task LayoutGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task LayoutGuestsReadBenchmarkAsync() - public Task LayoutGuestsReadBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 1000; - //#endif - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Guests", "Guests", innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task LayoutGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task LayoutGuestsWriteBenchmarkAsync() - public Task LayoutGuestsWriteBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 1000; - //#endif - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Guests", "Guests", innerLoopIterations, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task LayoutHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task LayoutHotelReadBenchmarkAsync() - public Task LayoutHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task LayoutHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task LayoutHotelWriteBenchmarkAsync() - public Task LayoutHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task LayoutRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task LayoutRoomsReadBenchmarkAsync() - public Task LayoutRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 1000, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task LayoutRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task LayoutRoomsWriteBenchmarkAsync() - public Task LayoutRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 1000, - expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - this.sdl = Files.readString(TestData.SchemaFile); - Namespace schema = Namespace.Parse(this.sdl); - this.DefaultResolver = new LayoutResolverNamespace(schema, SystemSchema.LayoutResolver); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task StreamingGuestsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task StreamingGuestsReadBenchmarkAsync() - public Task StreamingGuestsReadBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Guests", "Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task StreamingGuestsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public - // async Task StreamingGuestsWriteBenchmarkAsync() - public Task StreamingGuestsWriteBenchmarkAsync() { - String expectedFile = TestData.GuestsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Guests", "Guests", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task StreamingHotelReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task StreamingHotelReadBenchmarkAsync() - public Task StreamingHotelReadBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task StreamingHotelWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public - // async Task StreamingHotelWriteBenchmarkAsync() - public Task StreamingHotelWriteBenchmarkAsync() { - String expectedFile = TestData.HotelExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task StreamingRoomsReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task StreamingRoomsReadBenchmarkAsync() - public Task StreamingRoomsReadBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", - 10000, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task StreamingRoomsWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public - // async Task StreamingRoomsWriteBenchmarkAsync() - public Task StreamingRoomsWriteBenchmarkAsync() { - String expectedFile = TestData.RoomsExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", - 10000, expected); - } - - private static void BsonReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, - int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - try (BsonRowGenerator writer = new BsonRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver)) { - for (HashMap tableValue : expected) { - writer.Reset(); - writer.WriteBuffer(tableValue); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(writer.ToArray()); - expectedSerialized.add(writer.ToArray()); - } - } - - BenchmarkContext ignoredContext = null; - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "BSON", - // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "BSON", innerLoopIterations, - tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> - { - try (MemoryStream stm = new MemoryStream(tableValue)) { - try (BsonBinaryReader bsonReader = new BsonBinaryReader(stm)) { - bsonReader.VisitBsonDocument(); - } - } - }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); - ignoredContext = tempReference_ignoredContext.get(); - } - - private static void BsonWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, - int innerLoopIterations, ArrayList> expected) { - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - try (BsonRowGenerator writer = new BsonRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver)) { - BenchmarkContext ignoredContext = null; - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are - // not converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "BSON", innerLoopIterations, - tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> - { - writer.Reset(); - writer.WriteBuffer(tableValue); - }, (ref BenchmarkContext _, HashMap tableValue) -> writer.getLength(), expected); - ignoredContext = tempReference_ignoredContext.get(); - } - } - - private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Encoding utf8Encoding = new UTF8Encoding(); - JsonSerializer jsonSerializer = JsonSerializer.Create(SchematizedMicroBenchmarkSuite.JsonSettings); - try (MemoryStream jsonStream = new MemoryStream(BenchmarkSuiteBase.InitialCapacity)) { - try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { - try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - for (HashMap tableValue : expected) { - jsonSerializer.Serialize(jsonWriter, tableValue); - jsonWriter.Flush(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(jsonStream.ToArray()); - expectedSerialized.add((Byte)jsonStream.ToArray()); - jsonStream.SetLength(0); - } - } - } - } - - BenchmarkContext ignoredContext = null; - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "JSON", - // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "JSON", innerLoopIterations, - tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> - { - try (MemoryStream jsonStream = new MemoryStream(tableValue)) { - try (InputStreamReader textReader = new InputStreamReader(jsonStream)) { - try (JsonTextReader jsonReader = new JsonTextReader(textReader)) { - while (jsonReader.Read()) { - // Just visit the entire structure without materializing any of the values. - } - } - } - } - }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); - ignoredContext = tempReference_ignoredContext.get(); - } - - private static void JsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - Encoding utf8Encoding = new UTF8Encoding(); - JsonSerializer jsonSerializer = JsonSerializer.Create(SchematizedMicroBenchmarkSuite.JsonSettings); - try (MemoryStream jsonStream = new MemoryStream(BenchmarkSuiteBase.InitialCapacity)) { - try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { - try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { - BenchmarkContext ignoredContext = null; - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - - // these are not converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "JSON", - innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> - { - jsonStream.SetLength(0); - jsonSerializer.Serialize(jsonWriter, tableValue); - jsonWriter.Flush(); - }, (ref BenchmarkContext _, HashMap value) -> jsonStream.Length, expected); - ignoredContext = tempReference_ignoredContext.get(); - } - } - } - } - - private static void LayoutReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, - int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - for (HashMap tableValue : expected) { - context.StreamingWriter.Reset(); - - Result r = context.StreamingWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(context.StreamingWriter.ToArray()); - expectedSerialized.add((Byte)context.StreamingWriter.ToArray()); - } - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "Layout", - // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "Layout", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> - { - VisitRowGenerator visitor = new VisitRowGenerator(tableValue.AsSpan(), resolver); - Result r = visitor.DispatchLayout(layout); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); - context = tempReference_context.get(); - } - - private static void LayoutWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, - int innerLoopIterations, ArrayList> expected) { - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.PatchWriter = new WriteRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "Layout", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, HashMap dict) -> - { - ctx.PatchWriter.Reset(); - Result r = ctx.PatchWriter.DispatchLayout(layout, dict); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, HashMap _) -> ctx.PatchWriter.Length, expected); - context = tempReference_context.get(); - } - - private static void StreamingReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - for (HashMap tableValue : expected) { - context.StreamingWriter.Reset(); - - Result r = context.StreamingWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(context.StreamingWriter.ToArray()); - expectedSerialized.add((Byte)context.StreamingWriter.ToArray()); - } - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "HybridRow", innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "HybridRow", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> - { - RowBuffer row = new RowBuffer(tableValue.AsSpan(), HybridRowVersion.V1, resolver); - Reference tempReference_row = new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - RowReaderExtensions.VisitReader(reader.clone()); - }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); - context = tempReference_context.get(); - } - - private static void StreamingWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, - String dataSetName, int innerLoopIterations, - ArrayList> expected) { - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "HybridRow", innerLoopIterations, - tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> - { - ctx.StreamingWriter.Reset(); - - Result r = ctx.StreamingWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, HashMap _) -> ctx.StreamingWriter.Length, expected); - context = tempReference_context.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import MongoDB.Bson.IO.*; +import Newtonsoft.Json.*; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.HashMap; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TestData.SchemaFile, TestData.Target)] public sealed class +// SchematizedMicroBenchmarkSuite : MicroBenchmarkSuiteBase +public final class SchematizedMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { + private static final JsonSerializerSettings JsonSettings = new JsonSerializerSettings + private String sdl; + + { + NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task BsonGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task BsonGuestsReadBenchmarkAsync() + public Task BsonGuestsReadBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Guests", "Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task BsonGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task BsonGuestsWriteBenchmarkAsync() + public Task BsonGuestsWriteBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Guests", "Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task BsonHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task BsonHotelReadBenchmarkAsync() + public Task BsonHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task BsonHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task BsonHotelWriteBenchmarkAsync() + public Task BsonHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task BsonRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task BsonRoomsReadBenchmarkAsync() + public Task BsonRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 10000, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task BsonRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task BsonRoomsWriteBenchmarkAsync() + public Task BsonRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.BsonWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 10000, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task JsonGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task JsonGuestsReadBenchmarkAsync() + public Task JsonGuestsReadBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task JsonGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task JsonGuestsWriteBenchmarkAsync() + public Task JsonGuestsWriteBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task JsonHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task JsonHotelReadBenchmarkAsync() + public Task JsonHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task JsonHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task JsonHotelWriteBenchmarkAsync() + public Task JsonHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task JsonRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task JsonRoomsReadBenchmarkAsync() + public Task JsonRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonReadBenchmark("Rooms", 10000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task JsonRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task JsonRoomsWriteBenchmarkAsync() + public Task JsonRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace _) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.JsonWriteBenchmark("Rooms", 10000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task LayoutGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task LayoutGuestsReadBenchmarkAsync() + public Task LayoutGuestsReadBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 1000; + //#endif + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Guests", "Guests", innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task LayoutGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task LayoutGuestsWriteBenchmarkAsync() + public Task LayoutGuestsWriteBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 1000; + //#endif + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Guests", "Guests", innerLoopIterations, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task LayoutHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task LayoutHotelReadBenchmarkAsync() + public Task LayoutHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task LayoutHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task LayoutHotelWriteBenchmarkAsync() + public Task LayoutHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task LayoutRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task LayoutRoomsReadBenchmarkAsync() + public Task LayoutRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 1000, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task LayoutRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task LayoutRoomsWriteBenchmarkAsync() + public Task LayoutRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.LayoutWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", 1000, + expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + this.sdl = Files.readString(TestData.SchemaFile); + Namespace schema = Namespace.Parse(this.sdl); + this.DefaultResolver = new LayoutResolverNamespace(schema, SystemSchema.LayoutResolver); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task StreamingGuestsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task StreamingGuestsReadBenchmarkAsync() + public Task StreamingGuestsReadBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Guests", "Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task StreamingGuestsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.GuestsExpected, TestData.Target)] public + // async Task StreamingGuestsWriteBenchmarkAsync() + public Task StreamingGuestsWriteBenchmarkAsync() { + String expectedFile = TestData.GuestsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Guests", "Guests", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task StreamingHotelReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task StreamingHotelReadBenchmarkAsync() + public Task StreamingHotelReadBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task StreamingHotelWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.HotelExpected, TestData.Target)] public + // async Task StreamingHotelWriteBenchmarkAsync() + public Task StreamingHotelWriteBenchmarkAsync() { + String expectedFile = TestData.HotelExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Hotels", "Hotels", 1000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task StreamingRoomsReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task StreamingRoomsReadBenchmarkAsync() + public Task StreamingRoomsReadBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingReadBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", + 10000, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task StreamingRoomsWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.RoomsExpected, TestData.Target)] public + // async Task StreamingRoomsWriteBenchmarkAsync() + public Task StreamingRoomsWriteBenchmarkAsync() { + String expectedFile = TestData.RoomsExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + SchematizedMicroBenchmarkSuite.StreamingWriteBenchmark(resolver, "Available_Rooms_By_Hotel_Date", "Rooms", + 10000, expected); + } + + private static void BsonReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, + int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + try (BsonRowGenerator writer = new BsonRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver)) { + for (HashMap tableValue : expected) { + writer.Reset(); + writer.WriteBuffer(tableValue); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(writer.ToArray()); + expectedSerialized.add(writer.ToArray()); + } + } + + BenchmarkContext ignoredContext = null; + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "BSON", + // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "BSON", innerLoopIterations, + tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> + { + try (MemoryStream stm = new MemoryStream(tableValue)) { + try (BsonBinaryReader bsonReader = new BsonBinaryReader(stm)) { + bsonReader.VisitBsonDocument(); + } + } + }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); + ignoredContext = tempReference_ignoredContext.get(); + } + + private static void BsonWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, + int innerLoopIterations, ArrayList> expected) { + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + try (BsonRowGenerator writer = new BsonRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver)) { + BenchmarkContext ignoredContext = null; + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are + // not converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "BSON", innerLoopIterations, + tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> + { + writer.Reset(); + writer.WriteBuffer(tableValue); + }, (ref BenchmarkContext _, HashMap tableValue) -> writer.getLength(), expected); + ignoredContext = tempReference_ignoredContext.get(); + } + } + + private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Encoding utf8Encoding = new UTF8Encoding(); + JsonSerializer jsonSerializer = JsonSerializer.Create(SchematizedMicroBenchmarkSuite.JsonSettings); + try (MemoryStream jsonStream = new MemoryStream(BenchmarkSuiteBase.InitialCapacity)) { + try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { + try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + for (HashMap tableValue : expected) { + jsonSerializer.Serialize(jsonWriter, tableValue); + jsonWriter.Flush(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(jsonStream.ToArray()); + expectedSerialized.add((Byte)jsonStream.ToArray()); + jsonStream.SetLength(0); + } + } + } + } + + BenchmarkContext ignoredContext = null; + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "JSON", + // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "JSON", innerLoopIterations, + tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> + { + try (MemoryStream jsonStream = new MemoryStream(tableValue)) { + try (InputStreamReader textReader = new InputStreamReader(jsonStream)) { + try (JsonTextReader jsonReader = new JsonTextReader(textReader)) { + while (jsonReader.Read()) { + // Just visit the entire structure without materializing any of the values. + } + } + } + } + }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); + ignoredContext = tempReference_ignoredContext.get(); + } + + private static void JsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + Encoding utf8Encoding = new UTF8Encoding(); + JsonSerializer jsonSerializer = JsonSerializer.Create(SchematizedMicroBenchmarkSuite.JsonSettings); + try (MemoryStream jsonStream = new MemoryStream(BenchmarkSuiteBase.InitialCapacity)) { + try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { + try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { + BenchmarkContext ignoredContext = null; + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - + // these are not converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "JSON", + innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> + { + jsonStream.SetLength(0); + jsonSerializer.Serialize(jsonWriter, tableValue); + jsonWriter.Flush(); + }, (ref BenchmarkContext _, HashMap value) -> jsonStream.Length, expected); + ignoredContext = tempReference_ignoredContext.get(); + } + } + } + } + + private static void LayoutReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, + int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + for (HashMap tableValue : expected) { + context.StreamingWriter.Reset(); + + Result r = context.StreamingWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(context.StreamingWriter.ToArray()); + expectedSerialized.add((Byte)context.StreamingWriter.ToArray()); + } + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "Layout", + // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "Layout", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> + { + VisitRowGenerator visitor = new VisitRowGenerator(tableValue.AsSpan(), resolver); + Result r = visitor.DispatchLayout(layout); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); + context = tempReference_context.get(); + } + + private static void LayoutWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, + int innerLoopIterations, ArrayList> expected) { + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.PatchWriter = new WriteRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "Layout", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, HashMap dict) -> + { + ctx.PatchWriter.Reset(); + Result r = ctx.PatchWriter.DispatchLayout(layout, dict); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, HashMap _) -> ctx.PatchWriter.Length, expected); + context = tempReference_context.get(); + } + + private static void StreamingReadBenchmark(LayoutResolverNamespace resolver, String schemaName, String dataSetName, int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + for (HashMap tableValue : expected) { + context.StreamingWriter.Reset(); + + Result r = context.StreamingWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(context.StreamingWriter.ToArray()); + expectedSerialized.add((Byte)context.StreamingWriter.ToArray()); + } + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "HybridRow", innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Read", dataSetName, "HybridRow", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> + { + RowBuffer row = new RowBuffer(tableValue.AsSpan(), HybridRowVersion.V1, resolver); + Reference tempReference_row = new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + RowReaderExtensions.VisitReader(reader.clone()); + }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); + context = tempReference_context.get(); + } + + private static void StreamingWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, + String dataSetName, int innerLoopIterations, + ArrayList> expected) { + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.StreamingWriter = new StreamingRowGenerator(BenchmarkSuiteBase.InitialCapacity, layout, resolver); + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + MicroBenchmarkSuiteBase.Benchmark("Schematized", "Write", dataSetName, "HybridRow", innerLoopIterations, + tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> + { + ctx.StreamingWriter.Reset(); + + Result r = ctx.StreamingWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, HashMap _) -> ctx.StreamingWriter.Length, expected); + context = tempReference_context.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java index aced50a..7c68999 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/TestData.java @@ -1,19 +1,19 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -/** - * Names of assets in the TestData folder. - */ -public class TestData { - public static final String GuestsExpected = "TestData\\GuestsSchemaExpected.hr"; - public static final String HotelExpected = "TestData\\HotelSchemaExpected.hr"; - public static final String Messages1KExpected = "TestData\\Messages1KExpected.hr"; - public static final String RoomsExpected = "TestData\\RoomsSchemaExpected.hr"; - public static final String SchemaFile = "TestData\\CassandraHotelSchema.json"; - /** - * The folder to which TestData assets should be copied during deployment. - */ - public static final String Target = "TestData"; +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +/** + * Names of assets in the TestData folder. + */ +public class TestData { + public static final String GuestsExpected = "TestData\\GuestsSchemaExpected.hr"; + public static final String HotelExpected = "TestData\\HotelSchemaExpected.hr"; + public static final String Messages1KExpected = "TestData\\Messages1KExpected.hr"; + public static final String RoomsExpected = "TestData\\RoomsSchemaExpected.hr"; + public static final String SchemaFile = "TestData\\CassandraHotelSchema.json"; + /** + * The folder to which TestData assets should be copied during deployment. + */ + public static final String Target = "TestData"; } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java index f6a56f8..e303e0f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/UnschematizedMicroBenchmarkSuite.java @@ -1,339 +1,339 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf; - -import MongoDB.Bson.IO.*; -import Newtonsoft.Json.*; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; - -import java.util.ArrayList; -import java.util.HashMap; - -/** - * Tests involving fully (or mostly) unschematized test data. - */ -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public sealed class UnschematizedMicroBenchmarkSuite : MicroBenchmarkSuiteBase -public final class UnschematizedMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { - private static final JsonSerializerSettings JsonSettings = new JsonSerializerSettings - - { - NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task BsonMessages1KReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task BsonMessages1KReadBenchmarkAsync() - public Task BsonMessages1KReadBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.BsonReadBenchmark("Messages1K", innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task BsonMessages1KWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task BsonMessages1KWriteBenchmarkAsync() - public Task BsonMessages1KWriteBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.BsonWriteBenchmark("Messages1K", innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task JsonMessages1KReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task JsonMessages1KReadBenchmarkAsync() - public Task JsonMessages1KReadBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.JsonReadBenchmark("Messages1K", innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task JsonMessages1KWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task JsonMessages1KWriteBenchmarkAsync() - public Task JsonMessages1KWriteBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.JsonWriteBenchmark("Messages1K", innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task Messages1KReadBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task Messages1KReadBenchmarkAsync() - public Task Messages1KReadBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.JsonModelReadBenchmark(resolver, "TypedJsonHybridRowSchema", "Messages1K", - innerLoopIterations, expected); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task Messages1KWriteBenchmarkAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] - // public async Task Messages1KWriteBenchmarkAsync() - public Task Messages1KWriteBenchmarkAsync() { - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - //#if DEBUG - final int innerLoopIterations = 1; - //#else - final int innerLoopIterations = 10; - //#endif - String expectedFile = TestData.Messages1KExpected; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await - this.LoadExpectedAsync(expectedFile); - UnschematizedMicroBenchmarkSuite.JsonModelWriteBenchmark(resolver, "TypedJsonHybridRowSchema", "Messages1K", - innerLoopIterations, expected); - } - - private static void BsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) { - for (HashMap tableValue : expected) { - writer.Reset(); - writer.WriteBuffer(tableValue); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(writer.ToArray()); - expectedSerialized.add(writer.ToArray()); - } - } - - BenchmarkContext ignoredContext = null; - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "BSON", innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => - Benchmark("Unschematized", "Read", dataSetName, "BSON", innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> - { - try (MemoryStream stm = new MemoryStream(tableValue)) { - try (BsonBinaryReader bsonReader = new BsonBinaryReader(stm)) { - bsonReader.VisitBsonDocument(); - } - } - }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); - ignoredContext = tempReference_ignoredContext.get(); - } - - private static void BsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) { - BenchmarkContext ignoredContext = null; - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are - // not converted by C# to Java Converter: - Benchmark("Unschematized", "Write", dataSetName, "BSON", innerLoopIterations, - tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> - { - writer.Reset(); - writer.WriteBuffer(tableValue); - }, (ref BenchmarkContext _, HashMap tableValue) -> writer.getLength(), expected); - ignoredContext = tempReference_ignoredContext.get(); - } - } - - private static void JsonModelReadBenchmark(LayoutResolverNamespace resolver, String schemaName, - String dataSetName, int innerLoopIterations, - ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.JsonModelWriter = new JsonModelRowGenerator(InitialCapacity, layout, resolver); - - for (HashMap tableValue : expected) { - context.JsonModelWriter.Reset(); - - Result r = context.JsonModelWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(context.JsonModelWriter.ToArray()); - expectedSerialized.add(context.JsonModelWriter.ToArray()); - } - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "HybridRowSparse", - // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => - Benchmark("Unschematized", "Read", dataSetName, "HybridRowSparse", - innerLoopIterations, tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> - { - RowBuffer row = new RowBuffer(tableValue.AsSpan(), HybridRowVersion.V1, resolver); - Reference tempReference_row = - new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - RowReaderExtensions.VisitReader(reader.clone()); - }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); - context = tempReference_context.get(); - } - - private static void JsonModelWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, - String dataSetName, int innerLoopIterations, - ArrayList> expected) { - Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = - schemaName.equals( > x.Name)).SchemaId) - BenchmarkContext context = new BenchmarkContext(); - context.JsonModelWriter = new JsonModelRowGenerator(InitialCapacity, layout, resolver); - - Reference tempReference_context = new Reference(context); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - Benchmark("Unschematized", "Write", dataSetName, "HybridRowSparse", - innerLoopIterations, tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> - { - ctx.JsonModelWriter.Reset(); - - Result r = ctx.JsonModelWriter.WriteBuffer(tableValue); - ResultAssert.IsSuccess(r); - }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.JsonModelWriter.Length, expected); - context = tempReference_context.get(); - } - - private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - // Serialize input data to sequence of byte buffers. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); - ArrayList expectedSerialized = new ArrayList(expected.size()); - Encoding utf8Encoding = new UTF8Encoding(); - JsonSerializer jsonSerializer = JsonSerializer.Create(UnschematizedMicroBenchmarkSuite.JsonSettings); - try (MemoryStream jsonStream = new MemoryStream(InitialCapacity)) { - try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { - try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - for (HashMap tableValue : expected) { - jsonSerializer.Serialize(jsonWriter, tableValue); - jsonWriter.Flush(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: expectedSerialized.Add(jsonStream.ToArray()); - expectedSerialized.add((Byte)jsonStream.ToArray()); - jsonStream.SetLength(0); - } - } - } - } - - BenchmarkContext ignoredContext = null; - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "JSON", - // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => - Benchmark("Unschematized", "Read", dataSetName, "JSON", innerLoopIterations, - tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> - { - try (MemoryStream jsonStream = new MemoryStream(tableValue)) { - try (InputStreamReader textReader = new InputStreamReader(jsonStream)) { - try (JsonTextReader jsonReader = new JsonTextReader(textReader)) { - while (jsonReader.Read()) { - // Just visit the entire structure without materializing any of the values. - } - } - } - } - }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); - ignoredContext = tempReference_ignoredContext.get(); - } - - private static void JsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { - Encoding utf8Encoding = new UTF8Encoding(); - JsonSerializer jsonSerializer = JsonSerializer.Create(UnschematizedMicroBenchmarkSuite.JsonSettings); - try (MemoryStream jsonStream = new MemoryStream(InitialCapacity)) { - try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { - try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { - BenchmarkContext ignoredContext = null; - jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); - - Reference tempReference_ignoredContext = new Reference(ignoredContext); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - - // these are not converted by C# to Java Converter: - Benchmark("Unschematized", "Write", dataSetName, "JSON", - innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> - { - jsonStream.SetLength(0); - jsonSerializer.Serialize(jsonWriter, tableValue); - jsonWriter.Flush(); - }, (ref BenchmarkContext _, HashMap value) -> jsonStream.Length, expected); - ignoredContext = tempReference_ignoredContext.get(); - } - } - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf; + +import MongoDB.Bson.IO.*; +import Newtonsoft.Json.*; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; + +import java.util.ArrayList; +import java.util.HashMap; + +/** + * Tests involving fully (or mostly) unschematized test data. + */ +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public sealed class UnschematizedMicroBenchmarkSuite : MicroBenchmarkSuiteBase +public final class UnschematizedMicroBenchmarkSuite extends MicroBenchmarkSuiteBase { + private static final JsonSerializerSettings JsonSettings = new JsonSerializerSettings + + { + NullValueHandling = NullValueHandling.Ignore, Formatting = Formatting.Indented + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task BsonMessages1KReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task BsonMessages1KReadBenchmarkAsync() + public Task BsonMessages1KReadBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.BsonReadBenchmark("Messages1K", innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task BsonMessages1KWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task BsonMessages1KWriteBenchmarkAsync() + public Task BsonMessages1KWriteBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.BsonWriteBenchmark("Messages1K", innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task JsonMessages1KReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task JsonMessages1KReadBenchmarkAsync() + public Task JsonMessages1KReadBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.JsonReadBenchmark("Messages1K", innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task JsonMessages1KWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task JsonMessages1KWriteBenchmarkAsync() + public Task JsonMessages1KWriteBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.JsonWriteBenchmark("Messages1K", innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task Messages1KReadBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task Messages1KReadBenchmarkAsync() + public Task Messages1KReadBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.JsonModelReadBenchmark(resolver, "TypedJsonHybridRowSchema", "Messages1K", + innerLoopIterations, expected); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task Messages1KWriteBenchmarkAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem(TestData.Messages1KExpected, TestData.Target)] + // public async Task Messages1KWriteBenchmarkAsync() + public Task Messages1KWriteBenchmarkAsync() { + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + //#if DEBUG + final int innerLoopIterations = 1; + //#else + final int innerLoopIterations = 10; + //#endif + String expectedFile = TestData.Messages1KExpected; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + (List < Dictionary < Utf8String, object >> expected, LayoutResolverNamespace resolver) =await + this.LoadExpectedAsync(expectedFile); + UnschematizedMicroBenchmarkSuite.JsonModelWriteBenchmark(resolver, "TypedJsonHybridRowSchema", "Messages1K", + innerLoopIterations, expected); + } + + private static void BsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) { + for (HashMap tableValue : expected) { + writer.Reset(); + writer.WriteBuffer(tableValue); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(writer.ToArray()); + expectedSerialized.add(writer.ToArray()); + } + } + + BenchmarkContext ignoredContext = null; + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "BSON", innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => + Benchmark("Unschematized", "Read", dataSetName, "BSON", innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> + { + try (MemoryStream stm = new MemoryStream(tableValue)) { + try (BsonBinaryReader bsonReader = new BsonBinaryReader(stm)) { + bsonReader.VisitBsonDocument(); + } + } + }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); + ignoredContext = tempReference_ignoredContext.get(); + } + + private static void BsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) { + BenchmarkContext ignoredContext = null; + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are + // not converted by C# to Java Converter: + Benchmark("Unschematized", "Write", dataSetName, "BSON", innerLoopIterations, + tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> + { + writer.Reset(); + writer.WriteBuffer(tableValue); + }, (ref BenchmarkContext _, HashMap tableValue) -> writer.getLength(), expected); + ignoredContext = tempReference_ignoredContext.get(); + } + } + + private static void JsonModelReadBenchmark(LayoutResolverNamespace resolver, String schemaName, + String dataSetName, int innerLoopIterations, + ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.JsonModelWriter = new JsonModelRowGenerator(InitialCapacity, layout, resolver); + + for (HashMap tableValue : expected) { + context.JsonModelWriter.Reset(); + + Result r = context.JsonModelWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(context.JsonModelWriter.ToArray()); + expectedSerialized.add(context.JsonModelWriter.ToArray()); + } + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "HybridRowSparse", + // innerLoopIterations, ref context, (ref BenchmarkContext ctx, byte[] tableValue) => + Benchmark("Unschematized", "Read", dataSetName, "HybridRowSparse", + innerLoopIterations, tempReference_context, (ref BenchmarkContext ctx, byte[] tableValue) -> + { + RowBuffer row = new RowBuffer(tableValue.AsSpan(), HybridRowVersion.V1, resolver); + Reference tempReference_row = + new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + RowReaderExtensions.VisitReader(reader.clone()); + }, (ref BenchmarkContext ctx, byte[] tableValue) -> tableValue.length, expectedSerialized); + context = tempReference_context.get(); + } + + private static void JsonModelWriteBenchmark(LayoutResolverNamespace resolver, String schemaName, + String dataSetName, int innerLoopIterations, + ArrayList> expected) { + Layout layout = resolver.Resolve(tangible.ListHelper.find(resolver.getNamespace().getSchemas(), x = + schemaName.equals( > x.Name)).SchemaId) + BenchmarkContext context = new BenchmarkContext(); + context.JsonModelWriter = new JsonModelRowGenerator(InitialCapacity, layout, resolver); + + Reference tempReference_context = new Reference(context); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + Benchmark("Unschematized", "Write", dataSetName, "HybridRowSparse", + innerLoopIterations, tempReference_context, (ref BenchmarkContext ctx, HashMap tableValue) -> + { + ctx.JsonModelWriter.Reset(); + + Result r = ctx.JsonModelWriter.WriteBuffer(tableValue); + ResultAssert.IsSuccess(r); + }, (ref BenchmarkContext ctx, HashMap tableValue) -> ctx.JsonModelWriter.Length, expected); + context = tempReference_context.get(); + } + + private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + // Serialize input data to sequence of byte buffers. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: List expectedSerialized = new List(expected.Count); + ArrayList expectedSerialized = new ArrayList(expected.size()); + Encoding utf8Encoding = new UTF8Encoding(); + JsonSerializer jsonSerializer = JsonSerializer.Create(UnschematizedMicroBenchmarkSuite.JsonSettings); + try (MemoryStream jsonStream = new MemoryStream(InitialCapacity)) { + try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { + try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + for (HashMap tableValue : expected) { + jsonSerializer.Serialize(jsonWriter, tableValue); + jsonWriter.Flush(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: expectedSerialized.Add(jsonStream.ToArray()); + expectedSerialized.add((Byte)jsonStream.ToArray()); + jsonStream.SetLength(0); + } + } + } + } + + BenchmarkContext ignoredContext = null; + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MicroBenchmarkSuiteBase.Benchmark("Unschematized", "Read", dataSetName, "JSON", + // innerLoopIterations, ref ignoredContext, (ref BenchmarkContext _, byte[] tableValue) => + Benchmark("Unschematized", "Read", dataSetName, "JSON", innerLoopIterations, + tempReference_ignoredContext, (ref BenchmarkContext _, byte[] tableValue) -> + { + try (MemoryStream jsonStream = new MemoryStream(tableValue)) { + try (InputStreamReader textReader = new InputStreamReader(jsonStream)) { + try (JsonTextReader jsonReader = new JsonTextReader(textReader)) { + while (jsonReader.Read()) { + // Just visit the entire structure without materializing any of the values. + } + } + } + } + }, (ref BenchmarkContext _, byte[] tableValue) -> tableValue.length, expectedSerialized); + ignoredContext = tempReference_ignoredContext.get(); + } + + private static void JsonWriteBenchmark(String dataSetName, int innerLoopIterations, ArrayList> expected) { + Encoding utf8Encoding = new UTF8Encoding(); + JsonSerializer jsonSerializer = JsonSerializer.Create(UnschematizedMicroBenchmarkSuite.JsonSettings); + try (MemoryStream jsonStream = new MemoryStream(InitialCapacity)) { + try (OutputStreamWriter textWriter = new OutputStreamWriter(jsonStream)) { + try (JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)) { + BenchmarkContext ignoredContext = null; + jsonSerializer.Converters.Add(new Utf8StringJsonConverter()); + + Reference tempReference_ignoredContext = new Reference(ignoredContext); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - + // these are not converted by C# to Java Converter: + Benchmark("Unschematized", "Write", dataSetName, "JSON", + innerLoopIterations, tempReference_ignoredContext, (ref BenchmarkContext _, HashMap tableValue) -> + { + jsonStream.SetLength(0); + jsonSerializer.Serialize(jsonWriter, tableValue); + jsonWriter.Flush(); + }, (ref BenchmarkContext _, HashMap value) -> jsonStream.Length, expected); + ignoredContext = tempReference_ignoredContext.get(); + } + } + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java index 6fb3816..325e49c 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Address.java @@ -1,316 +1,316 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; -import com.google.protobuf.Message; -import com.google.protobuf.Parser; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - -public final class Address implements Message
{ - /** - * Field number for the "city" field. - */ - public static final int CityFieldNumber = 2; - /** - * Field number for the "postal_code" field. - */ - public static final int PostalCodeFieldNumber = 4; - /** - * Field number for the "state" field. - */ - public static final int StateFieldNumber = 3; - /** - * Field number for the "street" field. - */ - public static final int StreetFieldNumber = 1; - private static final Parser _parser = new Address().getParserForType(); - private static final Google.Protobuf.FieldCodec _single_city_codec = Google.Protobuf.FieldCodec.ForClassWrapper(18); - - // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: - // partial void OnConstruction(); - private static final Google.Protobuf.FieldCodec _single_state_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(26); - private static final Google.Protobuf.FieldCodec _single_street_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(10); - private Google.Protobuf.UnknownFieldSet _unknownFields; - private String city_; - private PostalCode postalCode_; - private String state_; - private String street_; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address() - public Address() { - OnConstruction(); - } - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address(Address other) - public Address(Address other) { - this(); - setStreet(other.getStreet()); - setCity(other.getCity()); - setState(other.getState()); - setPostalCode(other.postalCode_ != null ? other.getPostalCode().Clone() : null); - _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string City - public String getCity() { - return city_; - } - - public void setCity(String value) { - city_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor - public Google.Protobuf.Reflection getDescriptor() { - return getDescriptor(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection - // .MessageDescriptor Descriptor - public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { - return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[1]; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf - // .MessageParser
Parser - public static Google.Protobuf.MessageParser
getParser() { - return _parser; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Microsoft.Azure.Cosmos.Serialization - // .HybridRow.Tests.Perf.CassandraHotel.Protobuf.PostalCode PostalCode - public PostalCode getPostalCode() { - return postalCode_; - } - - public void setPostalCode(PostalCode value) { - postalCode_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string State - public String getState() { - return state_; - } - - public void setState(String value) { - state_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Street - public String getStreet() { - return street_; - } - - public void setStreet(String value) { - street_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() - public int CalculateSize() { - int size = 0; - if (street_ != null) { - size += _single_street_codec.CalculateSizeWithTag(getStreet()); - } - if (city_ != null) { - size += _single_city_codec.CalculateSizeWithTag(getCity()); - } - if (state_ != null) { - size += _single_state_codec.CalculateSizeWithTag(getState()); - } - if (postalCode_ != null) { - size += 1 + Google.Protobuf.CodedOutputStream.ComputeMessageSize(getPostalCode()); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address Clone() - public Address Clone() { - return new Address(this); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Address other) - public void MergeFrom(Address other) { - if (other == null) { - return; - } - if (other.street_ != null) { - if (street_ == null || !other.getStreet().equals("")) { - setStreet(other.getStreet()); - } - } - if (other.city_ != null) { - if (city_ == null || !other.getCity().equals("")) { - setCity(other.getCity()); - } - } - if (other.state_ != null) { - if (state_ == null || !other.getState().equals("")) { - setState(other.getState()); - } - } - if (other.postalCode_ != null) { - if (postalCode_ == null) { - postalCode_ = new PostalCode(); - } - getPostalCode().MergeFrom(other.getPostalCode()); - } - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf - // .CodedInputStream input) - public void MergeFrom(Google.Protobuf.CodedInputStream input) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint tag; - int tag; - while ((tag = input.ReadTag()) != 0) { - switch (tag) { - default: - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - String value = _single_street_codec.Read(input); - if (street_ == null || !value.equals("")) { - setStreet(value); - } - break; - } - case 18: { - String value = _single_city_codec.Read(input); - if (city_ == null || !value.equals("")) { - setCity(value); - } - break; - } - case 26: { - String value = _single_state_codec.Read(input); - if (state_ == null || !value.equals("")) { - setState(value); - } - break; - } - case 34: { - if (postalCode_ == null) { - postalCode_ = new PostalCode(); - } - input.ReadMessage(postalCode_); - break; - } - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf - // .CodedOutputStream output) - public void WriteTo(Google.Protobuf.CodedOutputStream output) { - if (street_ != null) { - _single_street_codec.WriteTagAndValue(output, getStreet()); - } - if (city_ != null) { - _single_city_codec.WriteTagAndValue(output, getCity()); - } - if (state_ != null) { - _single_state_codec.WriteTagAndValue(output, getState()); - } - if (postalCode_ != null) { - output.WriteRawTag(34); - output.WriteMessage(getPostalCode()); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) - @Override - public boolean equals(Object other) { - return Equals(other instanceof Address ? (Address)other : null); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Address other) - public boolean equals(Address other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!getStreet().equals(other.getStreet())) { - return false; - } - if (!getCity().equals(other.getCity())) { - return false; - } - if (!getState().equals(other.getState())) { - return false; - } - if (!getPostalCode().equals(other.getPostalCode())) { - return false; - } - return Equals(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() - @Override - public int hashCode() { - int hash = 1; - if (street_ != null) { - hash ^= getStreet().hashCode(); - } - if (city_ != null) { - hash ^= getCity().hashCode(); - } - if (state_ != null) { - hash ^= getState().hashCode(); - } - if (postalCode_ != null) { - hash ^= getPostalCode().hashCode(); - } - if (_unknownFields != null) { - hash ^= _unknownFields.hashCode(); - } - return hash; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() - @Override - public String toString() { - return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); - } - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; +import com.google.protobuf.Message; +import com.google.protobuf.Parser; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + +public final class Address implements Message
{ + /** + * Field number for the "city" field. + */ + public static final int CityFieldNumber = 2; + /** + * Field number for the "postal_code" field. + */ + public static final int PostalCodeFieldNumber = 4; + /** + * Field number for the "state" field. + */ + public static final int StateFieldNumber = 3; + /** + * Field number for the "street" field. + */ + public static final int StreetFieldNumber = 1; + private static final Parser _parser = new Address().getParserForType(); + private static final Google.Protobuf.FieldCodec _single_city_codec = Google.Protobuf.FieldCodec.ForClassWrapper(18); + + // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: + // partial void OnConstruction(); + private static final Google.Protobuf.FieldCodec _single_state_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(26); + private static final Google.Protobuf.FieldCodec _single_street_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(10); + private Google.Protobuf.UnknownFieldSet _unknownFields; + private String city_; + private PostalCode postalCode_; + private String state_; + private String street_; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address() + public Address() { + OnConstruction(); + } + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address(Address other) + public Address(Address other) { + this(); + setStreet(other.getStreet()); + setCity(other.getCity()); + setState(other.getState()); + setPostalCode(other.postalCode_ != null ? other.getPostalCode().Clone() : null); + _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string City + public String getCity() { + return city_; + } + + public void setCity(String value) { + city_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor + public Google.Protobuf.Reflection getDescriptor() { + return getDescriptor(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection + // .MessageDescriptor Descriptor + public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { + return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[1]; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf + // .MessageParser
Parser + public static Google.Protobuf.MessageParser
getParser() { + return _parser; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Microsoft.Azure.Cosmos.Serialization + // .HybridRow.Tests.Perf.CassandraHotel.Protobuf.PostalCode PostalCode + public PostalCode getPostalCode() { + return postalCode_; + } + + public void setPostalCode(PostalCode value) { + postalCode_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string State + public String getState() { + return state_; + } + + public void setState(String value) { + state_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Street + public String getStreet() { + return street_; + } + + public void setStreet(String value) { + street_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() + public int CalculateSize() { + int size = 0; + if (street_ != null) { + size += _single_street_codec.CalculateSizeWithTag(getStreet()); + } + if (city_ != null) { + size += _single_city_codec.CalculateSizeWithTag(getCity()); + } + if (state_ != null) { + size += _single_state_codec.CalculateSizeWithTag(getState()); + } + if (postalCode_ != null) { + size += 1 + Google.Protobuf.CodedOutputStream.ComputeMessageSize(getPostalCode()); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Address Clone() + public Address Clone() { + return new Address(this); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Address other) + public void MergeFrom(Address other) { + if (other == null) { + return; + } + if (other.street_ != null) { + if (street_ == null || !other.getStreet().equals("")) { + setStreet(other.getStreet()); + } + } + if (other.city_ != null) { + if (city_ == null || !other.getCity().equals("")) { + setCity(other.getCity()); + } + } + if (other.state_ != null) { + if (state_ == null || !other.getState().equals("")) { + setState(other.getState()); + } + } + if (other.postalCode_ != null) { + if (postalCode_ == null) { + postalCode_ = new PostalCode(); + } + getPostalCode().MergeFrom(other.getPostalCode()); + } + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf + // .CodedInputStream input) + public void MergeFrom(Google.Protobuf.CodedInputStream input) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint tag; + int tag; + while ((tag = input.ReadTag()) != 0) { + switch (tag) { + default: + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + String value = _single_street_codec.Read(input); + if (street_ == null || !value.equals("")) { + setStreet(value); + } + break; + } + case 18: { + String value = _single_city_codec.Read(input); + if (city_ == null || !value.equals("")) { + setCity(value); + } + break; + } + case 26: { + String value = _single_state_codec.Read(input); + if (state_ == null || !value.equals("")) { + setState(value); + } + break; + } + case 34: { + if (postalCode_ == null) { + postalCode_ = new PostalCode(); + } + input.ReadMessage(postalCode_); + break; + } + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf + // .CodedOutputStream output) + public void WriteTo(Google.Protobuf.CodedOutputStream output) { + if (street_ != null) { + _single_street_codec.WriteTagAndValue(output, getStreet()); + } + if (city_ != null) { + _single_city_codec.WriteTagAndValue(output, getCity()); + } + if (state_ != null) { + _single_state_codec.WriteTagAndValue(output, getState()); + } + if (postalCode_ != null) { + output.WriteRawTag(34); + output.WriteMessage(getPostalCode()); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) + @Override + public boolean equals(Object other) { + return Equals(other instanceof Address ? (Address)other : null); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Address other) + public boolean equals(Address other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!getStreet().equals(other.getStreet())) { + return false; + } + if (!getCity().equals(other.getCity())) { + return false; + } + if (!getState().equals(other.getState())) { + return false; + } + if (!getPostalCode().equals(other.getPostalCode())) { + return false; + } + return Equals(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() + @Override + public int hashCode() { + int hash = 1; + if (street_ != null) { + hash ^= getStreet().hashCode(); + } + if (city_ != null) { + hash ^= getCity().hashCode(); + } + if (state_ != null) { + hash ^= getState().hashCode(); + } + if (postalCode_ != null) { + hash ^= getPostalCode().hashCode(); + } + if (_unknownFields != null) { + hash ^= _unknownFields.hashCode(); + } + return hash; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() + @Override + public String toString() { + return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); + } + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java index 72933cd..842ea13 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Available_Rooms_By_Hotel_Date.java @@ -1,320 +1,320 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - -public final class Available_Rooms_By_Hotel_Date implements Google.Protobuf.IMessage { - /** - * Field number for the "date" field. - */ - public static final int DateFieldNumber = 2; - /** - * Field number for the "hotel_id" field. - */ - public static final int HotelIdFieldNumber = 1; - /** - * Field number for the "is_available" field. - */ - public static final int IsAvailableFieldNumber = 4; - /** - * Field number for the "room_number" field. - */ - public static final int RoomNumberFieldNumber = 3; - private static final Google.Protobuf.MessageParser _parser = - new Google.Protobuf.MessageParser(() -> new Available_Rooms_By_Hotel_Date()); - private static final Google.Protobuf.FieldCodec _single_date_codec = - Google.Protobuf.FieldCodec.ForStructWrapper(18); - - // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: - // partial void OnConstruction(); - private static final Google.Protobuf.FieldCodec _single_hotelId_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(10); - private static final Google.Protobuf.FieldCodec _single_isAvailable_codec = - Google.Protobuf.FieldCodec.ForStructWrapper(34); - private static final Google.Protobuf.FieldCodec _single_roomNumber_codec = - Google.Protobuf.FieldCodec.ForStructWrapper(26); - private Google.Protobuf.UnknownFieldSet _unknownFields; - private Long date_; - private String hotelId_; - private Boolean isAvailable_; - private Integer roomNumber_; - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date() - public Available_Rooms_By_Hotel_Date() { - OnConstruction(); - } - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date - // (Available_Rooms_By_Hotel_Date other) - public Available_Rooms_By_Hotel_Date(Available_Rooms_By_Hotel_Date other) { - this(); - setHotelId(other.getHotelId()); - setDate(other.getDate()); - setRoomNumber(other.getRoomNumber()); - setIsAvailable(other.getIsAvailable()); - _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); - } - - /** - * datetime - */ - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Date - public Long getDate() { - return date_; - } - - public void setDate(Long value) { - date_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor - public Google.Protobuf.Reflection getDescriptor() { - return getDescriptor(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection - // .MessageDescriptor Descriptor - public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { - return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[3]; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string HotelId - public String getHotelId() { - return hotelId_; - } - - public void setHotelId(String value) { - hotelId_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable IsAvailable - public Boolean getIsAvailable() { - return isAvailable_; - } - - public void setIsAvailable(Boolean value) { - isAvailable_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf - // .MessageParser Parser - public static Google.Protobuf.MessageParser getParser() { - return _parser; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable RoomNumber - public Integer getRoomNumber() { - return roomNumber_; - } - - public void setRoomNumber(Integer value) { - roomNumber_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() - public int CalculateSize() { - int size = 0; - if (hotelId_ != null) { - size += _single_hotelId_codec.CalculateSizeWithTag(getHotelId()); - } - if (date_ != null) { - size += _single_date_codec.CalculateSizeWithTag(getDate()); - } - if (roomNumber_ != null) { - size += _single_roomNumber_codec.CalculateSizeWithTag(getRoomNumber()); - } - if (isAvailable_ != null) { - size += _single_isAvailable_codec.CalculateSizeWithTag(getIsAvailable()); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date Clone() - public Available_Rooms_By_Hotel_Date Clone() { - return new Available_Rooms_By_Hotel_Date(this); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom - // (Available_Rooms_By_Hotel_Date other) - public void MergeFrom(Available_Rooms_By_Hotel_Date other) { - if (other == null) { - return; - } - if (other.hotelId_ != null) { - if (hotelId_ == null || !other.getHotelId().equals("")) { - setHotelId(other.getHotelId()); - } - } - if (other.date_ != null) { - if (date_ == null || other.getDate() != 0L) { - setDate(other.getDate()); - } - } - if (other.roomNumber_ != null) { - if (roomNumber_ == null || other.getRoomNumber() != 0) { - setRoomNumber(other.getRoomNumber()); - } - } - if (other.isAvailable_ != null) { - if (isAvailable_ == null || other.getIsAvailable() != false) { - setIsAvailable(other.getIsAvailable()); - } - } - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf - // .CodedInputStream input) - public void MergeFrom(Google.Protobuf.CodedInputStream input) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint tag; - int tag; - while ((tag = input.ReadTag()) != 0) { - switch (tag) { - default: - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - String value = _single_hotelId_codec.Read(input); - if (hotelId_ == null || !value.equals("")) { - setHotelId(value); - } - break; - } - case 18: { - Long value = _single_date_codec.Read(input); - if (date_ == null || value != 0L) { - setDate(value); - } - break; - } - case 26: { - Integer value = _single_roomNumber_codec.Read(input); - if (roomNumber_ == null || value != 0) { - setRoomNumber(value); - } - break; - } - case 34: { - Boolean value = _single_isAvailable_codec.Read(input); - if (isAvailable_ == null || value != false) { - setIsAvailable(value); - } - break; - } - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf - // .CodedOutputStream output) - public void WriteTo(Google.Protobuf.CodedOutputStream output) { - if (hotelId_ != null) { - _single_hotelId_codec.WriteTagAndValue(output, getHotelId()); - } - if (date_ != null) { - _single_date_codec.WriteTagAndValue(output, getDate()); - } - if (roomNumber_ != null) { - _single_roomNumber_codec.WriteTagAndValue(output, getRoomNumber()); - } - if (isAvailable_ != null) { - _single_isAvailable_codec.WriteTagAndValue(output, getIsAvailable()); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) - @Override - public boolean equals(Object other) { - return Equals(other instanceof Available_Rooms_By_Hotel_Date ? (Available_Rooms_By_Hotel_Date)other : null); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals - // (Available_Rooms_By_Hotel_Date other) - public boolean equals(Available_Rooms_By_Hotel_Date other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!getHotelId().equals(other.getHotelId())) { - return false; - } - if (getDate() != other.getDate()) { - return false; - } - if (getRoomNumber() != other.getRoomNumber()) { - return false; - } - if (getIsAvailable() != other.getIsAvailable()) { - return false; - } - return Equals(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() - @Override - public int hashCode() { - int hash = 1; - if (hotelId_ != null) { - hash ^= getHotelId().hashCode(); - } - if (date_ != null) { - hash ^= getDate().hashCode(); - } - if (roomNumber_ != null) { - hash ^= getRoomNumber().hashCode(); - } - if (isAvailable_ != null) { - hash ^= getIsAvailable().hashCode(); - } - if (_unknownFields != null) { - hash ^= _unknownFields.hashCode(); - } - return hash; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() - @Override - public String toString() { - return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); - } - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + +public final class Available_Rooms_By_Hotel_Date implements Google.Protobuf.IMessage { + /** + * Field number for the "date" field. + */ + public static final int DateFieldNumber = 2; + /** + * Field number for the "hotel_id" field. + */ + public static final int HotelIdFieldNumber = 1; + /** + * Field number for the "is_available" field. + */ + public static final int IsAvailableFieldNumber = 4; + /** + * Field number for the "room_number" field. + */ + public static final int RoomNumberFieldNumber = 3; + private static final Google.Protobuf.MessageParser _parser = + new Google.Protobuf.MessageParser(() -> new Available_Rooms_By_Hotel_Date()); + private static final Google.Protobuf.FieldCodec _single_date_codec = + Google.Protobuf.FieldCodec.ForStructWrapper(18); + + // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: + // partial void OnConstruction(); + private static final Google.Protobuf.FieldCodec _single_hotelId_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(10); + private static final Google.Protobuf.FieldCodec _single_isAvailable_codec = + Google.Protobuf.FieldCodec.ForStructWrapper(34); + private static final Google.Protobuf.FieldCodec _single_roomNumber_codec = + Google.Protobuf.FieldCodec.ForStructWrapper(26); + private Google.Protobuf.UnknownFieldSet _unknownFields; + private Long date_; + private String hotelId_; + private Boolean isAvailable_; + private Integer roomNumber_; + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date() + public Available_Rooms_By_Hotel_Date() { + OnConstruction(); + } + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date + // (Available_Rooms_By_Hotel_Date other) + public Available_Rooms_By_Hotel_Date(Available_Rooms_By_Hotel_Date other) { + this(); + setHotelId(other.getHotelId()); + setDate(other.getDate()); + setRoomNumber(other.getRoomNumber()); + setIsAvailable(other.getIsAvailable()); + _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); + } + + /** + * datetime + */ + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Date + public Long getDate() { + return date_; + } + + public void setDate(Long value) { + date_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor + public Google.Protobuf.Reflection getDescriptor() { + return getDescriptor(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection + // .MessageDescriptor Descriptor + public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { + return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[3]; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string HotelId + public String getHotelId() { + return hotelId_; + } + + public void setHotelId(String value) { + hotelId_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable IsAvailable + public Boolean getIsAvailable() { + return isAvailable_; + } + + public void setIsAvailable(Boolean value) { + isAvailable_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf + // .MessageParser Parser + public static Google.Protobuf.MessageParser getParser() { + return _parser; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable RoomNumber + public Integer getRoomNumber() { + return roomNumber_; + } + + public void setRoomNumber(Integer value) { + roomNumber_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() + public int CalculateSize() { + int size = 0; + if (hotelId_ != null) { + size += _single_hotelId_codec.CalculateSizeWithTag(getHotelId()); + } + if (date_ != null) { + size += _single_date_codec.CalculateSizeWithTag(getDate()); + } + if (roomNumber_ != null) { + size += _single_roomNumber_codec.CalculateSizeWithTag(getRoomNumber()); + } + if (isAvailable_ != null) { + size += _single_isAvailable_codec.CalculateSizeWithTag(getIsAvailable()); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Available_Rooms_By_Hotel_Date Clone() + public Available_Rooms_By_Hotel_Date Clone() { + return new Available_Rooms_By_Hotel_Date(this); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom + // (Available_Rooms_By_Hotel_Date other) + public void MergeFrom(Available_Rooms_By_Hotel_Date other) { + if (other == null) { + return; + } + if (other.hotelId_ != null) { + if (hotelId_ == null || !other.getHotelId().equals("")) { + setHotelId(other.getHotelId()); + } + } + if (other.date_ != null) { + if (date_ == null || other.getDate() != 0L) { + setDate(other.getDate()); + } + } + if (other.roomNumber_ != null) { + if (roomNumber_ == null || other.getRoomNumber() != 0) { + setRoomNumber(other.getRoomNumber()); + } + } + if (other.isAvailable_ != null) { + if (isAvailable_ == null || other.getIsAvailable() != false) { + setIsAvailable(other.getIsAvailable()); + } + } + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf + // .CodedInputStream input) + public void MergeFrom(Google.Protobuf.CodedInputStream input) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint tag; + int tag; + while ((tag = input.ReadTag()) != 0) { + switch (tag) { + default: + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + String value = _single_hotelId_codec.Read(input); + if (hotelId_ == null || !value.equals("")) { + setHotelId(value); + } + break; + } + case 18: { + Long value = _single_date_codec.Read(input); + if (date_ == null || value != 0L) { + setDate(value); + } + break; + } + case 26: { + Integer value = _single_roomNumber_codec.Read(input); + if (roomNumber_ == null || value != 0) { + setRoomNumber(value); + } + break; + } + case 34: { + Boolean value = _single_isAvailable_codec.Read(input); + if (isAvailable_ == null || value != false) { + setIsAvailable(value); + } + break; + } + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf + // .CodedOutputStream output) + public void WriteTo(Google.Protobuf.CodedOutputStream output) { + if (hotelId_ != null) { + _single_hotelId_codec.WriteTagAndValue(output, getHotelId()); + } + if (date_ != null) { + _single_date_codec.WriteTagAndValue(output, getDate()); + } + if (roomNumber_ != null) { + _single_roomNumber_codec.WriteTagAndValue(output, getRoomNumber()); + } + if (isAvailable_ != null) { + _single_isAvailable_codec.WriteTagAndValue(output, getIsAvailable()); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) + @Override + public boolean equals(Object other) { + return Equals(other instanceof Available_Rooms_By_Hotel_Date ? (Available_Rooms_By_Hotel_Date)other : null); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals + // (Available_Rooms_By_Hotel_Date other) + public boolean equals(Available_Rooms_By_Hotel_Date other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!getHotelId().equals(other.getHotelId())) { + return false; + } + if (getDate() != other.getDate()) { + return false; + } + if (getRoomNumber() != other.getRoomNumber()) { + return false; + } + if (getIsAvailable() != other.getIsAvailable()) { + return false; + } + return Equals(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() + @Override + public int hashCode() { + int hash = 1; + if (hotelId_ != null) { + hash ^= getHotelId().hashCode(); + } + if (date_ != null) { + hash ^= getDate().hashCode(); + } + if (roomNumber_ != null) { + hash ^= getRoomNumber().hashCode(); + } + if (isAvailable_ != null) { + hash ^= getIsAvailable().hashCode(); + } + if (_unknownFields != null) { + hash ^= _unknownFields.hashCode(); + } + return hash; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() + @Override + public String toString() { + return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); + } + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java index 64b58d2..f877f02 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/CassandraHotelSchemaReflection.java @@ -1,120 +1,120 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - - -/** - * Holder for reflection information generated from TestData/CassandraHotelSchema.proto - */ -public final class CassandraHotelSchemaReflection { - - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - ///#region Descriptor - - private static Google.Protobuf.Reflection.FileDescriptor descriptor; - - static { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: byte[] descriptorData = System.Convert.FromBase64String(string.Concat - // ("CiNUZXN0RGF0YS9DYXNzYW5kcmFIb3RlbFNjaGVtYS5wcm90bxJITWljcm9z", - // "b2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0", - // "cy5QZXJmLkNhc3NhbmRyYUhvdGVsGh5nb29nbGUvcHJvdG9idWYvd3JhcHBl", - // "cnMucHJvdG8iYgoKUG9zdGFsQ29kZRIoCgN6aXAYASABKAsyGy5nb29nbGUu", - // "cHJvdG9idWYuSW50MzJWYWx1ZRIqCgVwbHVzNBgCIAEoCzIbLmdvb2dsZS5w", - // "cm90b2J1Zi5JbnQzMlZhbHVlIvsBCgdBZGRyZXNzEiwKBnN0cmVldBgBIAEo", - // "CzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRIqCgRjaXR5GAIgASgL", - // "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEisKBXN0YXRlGAMgASgL", - // "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEmkKC3Bvc3RhbF9jb2Rl", - // "GAQgASgLMlQuTWljcm9zb2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9u", - // "Lkh5YnJpZFJvdy5UZXN0cy5QZXJmLkNhc3NhbmRyYUhvdGVsLlBvc3RhbENv", - // "ZGUi9QEKBkhvdGVscxIuCghob3RlbF9pZBgBIAEoCzIcLmdvb2dsZS5wcm90", - // "b2J1Zi5TdHJpbmdWYWx1ZRIqCgRuYW1lGAIgASgLMhwuZ29vZ2xlLnByb3Rv", - // "YnVmLlN0cmluZ1ZhbHVlEisKBXBob25lGAMgASgLMhwuZ29vZ2xlLnByb3Rv", - // "YnVmLlN0cmluZ1ZhbHVlEmIKB2FkZHJlc3MYBCABKAsyUS5NaWNyb3NvZnQu", - // "QXp1cmUuQ29zbW9zLlNlcmlhbGl6YXRpb24uSHlicmlkUm93LlRlc3RzLlBl", - // "cmYuQ2Fzc2FuZHJhSG90ZWwuQWRkcmVzcyLeAQodQXZhaWxhYmxlX1Jvb21z", - // "X0J5X0hvdGVsX0RhdGUSLgoIaG90ZWxfaWQYASABKAsyHC5nb29nbGUucHJv", - // "dG9idWYuU3RyaW5nVmFsdWUSKQoEZGF0ZRgCIAEoCzIbLmdvb2dsZS5wcm90", - // "b2J1Zi5JbnQ2NFZhbHVlEjAKC3Jvb21fbnVtYmVyGAMgASgLMhsuZ29vZ2xl", - // "LnByb3RvYnVmLkludDMyVmFsdWUSMAoMaXNfYXZhaWxhYmxlGAQgASgLMhou", - // "Z29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZSKfBAoGR3Vlc3RzEi4KCGd1ZXN0", - // "X2lkGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjAKCmZp", - // "cnN0X25hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUS", - // "LwoJbGFzdF9uYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", - // "bHVlEisKBXRpdGxlGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", - // "bHVlEg4KBmVtYWlscxgFIAMoCRIVCg1waG9uZV9udW1iZXJzGAYgAygJEnIK", - // "CWFkZHJlc3NlcxgHIAMoCzJfLk1pY3Jvc29mdC5BenVyZS5Db3Ntb3MuU2Vy", - // "aWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMuUGVyZi5DYXNzYW5kcmFIb3Rl", - // "bC5HdWVzdHMuQWRkcmVzc2VzRW50cnkSNAoOY29uZmlybV9udW1iZXIYCCAB", - // "KAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUagwEKDkFkZHJlc3Nl", - // "c0VudHJ5EgsKA2tleRgBIAEoCRJgCgV2YWx1ZRgCIAEoCzJRLk1pY3Jvc29m", - // "dC5BenVyZS5Db3Ntb3MuU2VyaWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMu", - // "UGVyZi5DYXNzYW5kcmFIb3RlbC5BZGRyZXNzOgI4AUJUqgJRTWljcm9zb2Z0", - // "LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0cy5Q", - // "ZXJmLkNhc3NhbmRyYUhvdGVsLlByb3RvYnVmYgZwcm90bzM=")); - byte[] descriptorData = System.Convert.FromBase64String(String.Concat( - "CiNUZXN0RGF0YS9DYXNzYW5kcmFIb3RlbFNjaGVtYS5wcm90bxJITWljcm9z", - "b2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0", - "cy5QZXJmLkNhc3NhbmRyYUhvdGVsGh5nb29nbGUvcHJvdG9idWYvd3JhcHBl", - "cnMucHJvdG8iYgoKUG9zdGFsQ29kZRIoCgN6aXAYASABKAsyGy5nb29nbGUu", - "cHJvdG9idWYuSW50MzJWYWx1ZRIqCgVwbHVzNBgCIAEoCzIbLmdvb2dsZS5w", - "cm90b2J1Zi5JbnQzMlZhbHVlIvsBCgdBZGRyZXNzEiwKBnN0cmVldBgBIAEo", - "CzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRIqCgRjaXR5GAIgASgL", - "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEisKBXN0YXRlGAMgASgL", - "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEmkKC3Bvc3RhbF9jb2Rl", - "GAQgASgLMlQuTWljcm9zb2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9u", - "Lkh5YnJpZFJvdy5UZXN0cy5QZXJmLkNhc3NhbmRyYUhvdGVsLlBvc3RhbENv", - "ZGUi9QEKBkhvdGVscxIuCghob3RlbF9pZBgBIAEoCzIcLmdvb2dsZS5wcm90", - "b2J1Zi5TdHJpbmdWYWx1ZRIqCgRuYW1lGAIgASgLMhwuZ29vZ2xlLnByb3Rv", - "YnVmLlN0cmluZ1ZhbHVlEisKBXBob25lGAMgASgLMhwuZ29vZ2xlLnByb3Rv", - "YnVmLlN0cmluZ1ZhbHVlEmIKB2FkZHJlc3MYBCABKAsyUS5NaWNyb3NvZnQu", - "QXp1cmUuQ29zbW9zLlNlcmlhbGl6YXRpb24uSHlicmlkUm93LlRlc3RzLlBl", - "cmYuQ2Fzc2FuZHJhSG90ZWwuQWRkcmVzcyLeAQodQXZhaWxhYmxlX1Jvb21z", - "X0J5X0hvdGVsX0RhdGUSLgoIaG90ZWxfaWQYASABKAsyHC5nb29nbGUucHJv", - "dG9idWYuU3RyaW5nVmFsdWUSKQoEZGF0ZRgCIAEoCzIbLmdvb2dsZS5wcm90", - "b2J1Zi5JbnQ2NFZhbHVlEjAKC3Jvb21fbnVtYmVyGAMgASgLMhsuZ29vZ2xl", - "LnByb3RvYnVmLkludDMyVmFsdWUSMAoMaXNfYXZhaWxhYmxlGAQgASgLMhou", - "Z29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZSKfBAoGR3Vlc3RzEi4KCGd1ZXN0", - "X2lkGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjAKCmZp", - "cnN0X25hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUS", - "LwoJbGFzdF9uYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", - "bHVlEisKBXRpdGxlGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", - "bHVlEg4KBmVtYWlscxgFIAMoCRIVCg1waG9uZV9udW1iZXJzGAYgAygJEnIK", - "CWFkZHJlc3NlcxgHIAMoCzJfLk1pY3Jvc29mdC5BenVyZS5Db3Ntb3MuU2Vy", - "aWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMuUGVyZi5DYXNzYW5kcmFIb3Rl", - "bC5HdWVzdHMuQWRkcmVzc2VzRW50cnkSNAoOY29uZmlybV9udW1iZXIYCCAB", - "KAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUagwEKDkFkZHJlc3Nl", - "c0VudHJ5EgsKA2tleRgBIAEoCRJgCgV2YWx1ZRgCIAEoCzJRLk1pY3Jvc29m", - "dC5BenVyZS5Db3Ntb3MuU2VyaWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMu", - "UGVyZi5DYXNzYW5kcmFIb3RlbC5BZGRyZXNzOgI4AUJUqgJRTWljcm9zb2Z0", - "LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0cy5Q", - "ZXJmLkNhc3NhbmRyYUhvdGVsLlByb3RvYnVmYgZwcm90bzM=")); - descriptor = Google.Protobuf.Reflection.FileDescriptor.FromGeneratedCode(descriptorData, - new Google.Protobuf.Reflection.FileDescriptor[] { Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor }, new Google.Protobuf.Reflection.GeneratedClrTypeInfo(null, new Google.Protobuf.Reflection.GeneratedClrTypeInfo[] { new Google.Protobuf.Reflection.GeneratedClrTypeInfo(PostalCode.class, PostalCode.getParser(), new String[] { "Zip", "Plus4" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Address.class, Address.getParser(), new String[] { "Street", "City", "State", "PostalCode" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Hotels.class, Hotels.getParser(), new String[] { "HotelId", "Name", "Phone", "Address" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Available_Rooms_By_Hotel_Date.class, Available_Rooms_By_Hotel_Date.getParser(), new String[] { "HotelId", "Date", "RoomNumber", "IsAvailable" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Guests.class, Guests.getParser(), new String[] { "GuestId", "FirstName", "LastName", "Title", "Emails", "PhoneNumbers", "Addresses", "ConfirmNumber" }, null, null, new Google.Protobuf.Reflection.GeneratedClrTypeInfo[] { null }) })); - } - - /** - * File descriptor for TestData/CassandraHotelSchema.proto - */ - public static Google.Protobuf.Reflection.FileDescriptor getDescriptor() { - return descriptor; - } - // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: - ///#endregion - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + + +/** + * Holder for reflection information generated from TestData/CassandraHotelSchema.proto + */ +public final class CassandraHotelSchemaReflection { + + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + ///#region Descriptor + + private static Google.Protobuf.Reflection.FileDescriptor descriptor; + + static { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: byte[] descriptorData = System.Convert.FromBase64String(string.Concat + // ("CiNUZXN0RGF0YS9DYXNzYW5kcmFIb3RlbFNjaGVtYS5wcm90bxJITWljcm9z", + // "b2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0", + // "cy5QZXJmLkNhc3NhbmRyYUhvdGVsGh5nb29nbGUvcHJvdG9idWYvd3JhcHBl", + // "cnMucHJvdG8iYgoKUG9zdGFsQ29kZRIoCgN6aXAYASABKAsyGy5nb29nbGUu", + // "cHJvdG9idWYuSW50MzJWYWx1ZRIqCgVwbHVzNBgCIAEoCzIbLmdvb2dsZS5w", + // "cm90b2J1Zi5JbnQzMlZhbHVlIvsBCgdBZGRyZXNzEiwKBnN0cmVldBgBIAEo", + // "CzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRIqCgRjaXR5GAIgASgL", + // "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEisKBXN0YXRlGAMgASgL", + // "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEmkKC3Bvc3RhbF9jb2Rl", + // "GAQgASgLMlQuTWljcm9zb2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9u", + // "Lkh5YnJpZFJvdy5UZXN0cy5QZXJmLkNhc3NhbmRyYUhvdGVsLlBvc3RhbENv", + // "ZGUi9QEKBkhvdGVscxIuCghob3RlbF9pZBgBIAEoCzIcLmdvb2dsZS5wcm90", + // "b2J1Zi5TdHJpbmdWYWx1ZRIqCgRuYW1lGAIgASgLMhwuZ29vZ2xlLnByb3Rv", + // "YnVmLlN0cmluZ1ZhbHVlEisKBXBob25lGAMgASgLMhwuZ29vZ2xlLnByb3Rv", + // "YnVmLlN0cmluZ1ZhbHVlEmIKB2FkZHJlc3MYBCABKAsyUS5NaWNyb3NvZnQu", + // "QXp1cmUuQ29zbW9zLlNlcmlhbGl6YXRpb24uSHlicmlkUm93LlRlc3RzLlBl", + // "cmYuQ2Fzc2FuZHJhSG90ZWwuQWRkcmVzcyLeAQodQXZhaWxhYmxlX1Jvb21z", + // "X0J5X0hvdGVsX0RhdGUSLgoIaG90ZWxfaWQYASABKAsyHC5nb29nbGUucHJv", + // "dG9idWYuU3RyaW5nVmFsdWUSKQoEZGF0ZRgCIAEoCzIbLmdvb2dsZS5wcm90", + // "b2J1Zi5JbnQ2NFZhbHVlEjAKC3Jvb21fbnVtYmVyGAMgASgLMhsuZ29vZ2xl", + // "LnByb3RvYnVmLkludDMyVmFsdWUSMAoMaXNfYXZhaWxhYmxlGAQgASgLMhou", + // "Z29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZSKfBAoGR3Vlc3RzEi4KCGd1ZXN0", + // "X2lkGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjAKCmZp", + // "cnN0X25hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUS", + // "LwoJbGFzdF9uYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", + // "bHVlEisKBXRpdGxlGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", + // "bHVlEg4KBmVtYWlscxgFIAMoCRIVCg1waG9uZV9udW1iZXJzGAYgAygJEnIK", + // "CWFkZHJlc3NlcxgHIAMoCzJfLk1pY3Jvc29mdC5BenVyZS5Db3Ntb3MuU2Vy", + // "aWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMuUGVyZi5DYXNzYW5kcmFIb3Rl", + // "bC5HdWVzdHMuQWRkcmVzc2VzRW50cnkSNAoOY29uZmlybV9udW1iZXIYCCAB", + // "KAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUagwEKDkFkZHJlc3Nl", + // "c0VudHJ5EgsKA2tleRgBIAEoCRJgCgV2YWx1ZRgCIAEoCzJRLk1pY3Jvc29m", + // "dC5BenVyZS5Db3Ntb3MuU2VyaWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMu", + // "UGVyZi5DYXNzYW5kcmFIb3RlbC5BZGRyZXNzOgI4AUJUqgJRTWljcm9zb2Z0", + // "LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0cy5Q", + // "ZXJmLkNhc3NhbmRyYUhvdGVsLlByb3RvYnVmYgZwcm90bzM=")); + byte[] descriptorData = System.Convert.FromBase64String(String.Concat( + "CiNUZXN0RGF0YS9DYXNzYW5kcmFIb3RlbFNjaGVtYS5wcm90bxJITWljcm9z", + "b2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0", + "cy5QZXJmLkNhc3NhbmRyYUhvdGVsGh5nb29nbGUvcHJvdG9idWYvd3JhcHBl", + "cnMucHJvdG8iYgoKUG9zdGFsQ29kZRIoCgN6aXAYASABKAsyGy5nb29nbGUu", + "cHJvdG9idWYuSW50MzJWYWx1ZRIqCgVwbHVzNBgCIAEoCzIbLmdvb2dsZS5w", + "cm90b2J1Zi5JbnQzMlZhbHVlIvsBCgdBZGRyZXNzEiwKBnN0cmVldBgBIAEo", + "CzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZRIqCgRjaXR5GAIgASgL", + "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEisKBXN0YXRlGAMgASgL", + "MhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEmkKC3Bvc3RhbF9jb2Rl", + "GAQgASgLMlQuTWljcm9zb2Z0LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9u", + "Lkh5YnJpZFJvdy5UZXN0cy5QZXJmLkNhc3NhbmRyYUhvdGVsLlBvc3RhbENv", + "ZGUi9QEKBkhvdGVscxIuCghob3RlbF9pZBgBIAEoCzIcLmdvb2dsZS5wcm90", + "b2J1Zi5TdHJpbmdWYWx1ZRIqCgRuYW1lGAIgASgLMhwuZ29vZ2xlLnByb3Rv", + "YnVmLlN0cmluZ1ZhbHVlEisKBXBob25lGAMgASgLMhwuZ29vZ2xlLnByb3Rv", + "YnVmLlN0cmluZ1ZhbHVlEmIKB2FkZHJlc3MYBCABKAsyUS5NaWNyb3NvZnQu", + "QXp1cmUuQ29zbW9zLlNlcmlhbGl6YXRpb24uSHlicmlkUm93LlRlc3RzLlBl", + "cmYuQ2Fzc2FuZHJhSG90ZWwuQWRkcmVzcyLeAQodQXZhaWxhYmxlX1Jvb21z", + "X0J5X0hvdGVsX0RhdGUSLgoIaG90ZWxfaWQYASABKAsyHC5nb29nbGUucHJv", + "dG9idWYuU3RyaW5nVmFsdWUSKQoEZGF0ZRgCIAEoCzIbLmdvb2dsZS5wcm90", + "b2J1Zi5JbnQ2NFZhbHVlEjAKC3Jvb21fbnVtYmVyGAMgASgLMhsuZ29vZ2xl", + "LnByb3RvYnVmLkludDMyVmFsdWUSMAoMaXNfYXZhaWxhYmxlGAQgASgLMhou", + "Z29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZSKfBAoGR3Vlc3RzEi4KCGd1ZXN0", + "X2lkGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlEjAKCmZp", + "cnN0X25hbWUYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUS", + "LwoJbGFzdF9uYW1lGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", + "bHVlEisKBXRpdGxlGAQgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1Zh", + "bHVlEg4KBmVtYWlscxgFIAMoCRIVCg1waG9uZV9udW1iZXJzGAYgAygJEnIK", + "CWFkZHJlc3NlcxgHIAMoCzJfLk1pY3Jvc29mdC5BenVyZS5Db3Ntb3MuU2Vy", + "aWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMuUGVyZi5DYXNzYW5kcmFIb3Rl", + "bC5HdWVzdHMuQWRkcmVzc2VzRW50cnkSNAoOY29uZmlybV9udW1iZXIYCCAB", + "KAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWUagwEKDkFkZHJlc3Nl", + "c0VudHJ5EgsKA2tleRgBIAEoCRJgCgV2YWx1ZRgCIAEoCzJRLk1pY3Jvc29m", + "dC5BenVyZS5Db3Ntb3MuU2VyaWFsaXphdGlvbi5IeWJyaWRSb3cuVGVzdHMu", + "UGVyZi5DYXNzYW5kcmFIb3RlbC5BZGRyZXNzOgI4AUJUqgJRTWljcm9zb2Z0", + "LkF6dXJlLkNvc21vcy5TZXJpYWxpemF0aW9uLkh5YnJpZFJvdy5UZXN0cy5Q", + "ZXJmLkNhc3NhbmRyYUhvdGVsLlByb3RvYnVmYgZwcm90bzM=")); + descriptor = Google.Protobuf.Reflection.FileDescriptor.FromGeneratedCode(descriptorData, + new Google.Protobuf.Reflection.FileDescriptor[] { Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor }, new Google.Protobuf.Reflection.GeneratedClrTypeInfo(null, new Google.Protobuf.Reflection.GeneratedClrTypeInfo[] { new Google.Protobuf.Reflection.GeneratedClrTypeInfo(PostalCode.class, PostalCode.getParser(), new String[] { "Zip", "Plus4" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Address.class, Address.getParser(), new String[] { "Street", "City", "State", "PostalCode" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Hotels.class, Hotels.getParser(), new String[] { "HotelId", "Name", "Phone", "Address" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Available_Rooms_By_Hotel_Date.class, Available_Rooms_By_Hotel_Date.getParser(), new String[] { "HotelId", "Date", "RoomNumber", "IsAvailable" }, null, null, null), new Google.Protobuf.Reflection.GeneratedClrTypeInfo(Guests.class, Guests.getParser(), new String[] { "GuestId", "FirstName", "LastName", "Title", "Emails", "PhoneNumbers", "Addresses", "ConfirmNumber" }, null, null, new Google.Protobuf.Reflection.GeneratedClrTypeInfo[] { null }) })); + } + + /** + * File descriptor for TestData/CassandraHotelSchema.proto + */ + public static Google.Protobuf.Reflection.FileDescriptor getDescriptor() { + return descriptor; + } + // TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: + ///#endregion + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java index 2b9047c..b19c789 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Guests.java @@ -1,445 +1,445 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - -public final class Guests implements Google.Protobuf.IMessage { - /** - * Field number for the "addresses" field. - */ - public static final int AddressesFieldNumber = 7; - /** - * Field number for the "confirm_number" field. - */ - public static final int ConfirmNumberFieldNumber = 8; - /** - * Field number for the "emails" field. - */ - public static final int EmailsFieldNumber = 5; - /** - * Field number for the "first_name" field. - */ - public static final int FirstNameFieldNumber = 2; - /** - * Field number for the "guest_id" field. - */ - public static final int GuestIdFieldNumber = 1; - /** - * Field number for the "last_name" field. - */ - public static final int LastNameFieldNumber = 3; - - // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: - // partial void OnConstruction(); - /** - * Field number for the "phone_numbers" field. - */ - public static final int PhoneNumbersFieldNumber = 6; - /** - * Field number for the "title" field. - */ - public static final int TitleFieldNumber = 4; - private static final Google.Protobuf.Collections.MapField.Codec _map_addresses_codec = - new Google.Protobuf.Collections.MapField.Codec(Google.Protobuf.FieldCodec.ForString(10), - Google.Protobuf.FieldCodec.ForMessage(18, - Address.getParser()), 58); - private static final Google.Protobuf.MessageParser _parser = - new Google.Protobuf.MessageParser(() -> new Guests()); - private static final Google.Protobuf.FieldCodec _repeated_emails_codec = - Google.Protobuf.FieldCodec.ForString(42); - private static final Google.Protobuf.FieldCodec _repeated_phoneNumbers_codec = - Google.Protobuf.FieldCodec.ForString(50); - private static final Google.Protobuf.FieldCodec _single_confirmNumber_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(66); - private static final Google.Protobuf.FieldCodec _single_firstName_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(18); - private static final Google.Protobuf.FieldCodec _single_guestId_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(10); - private static final Google.Protobuf.FieldCodec _single_lastName_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(26); - private static final Google.Protobuf.FieldCodec _single_title_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(34); - private final Google.Protobuf.Collections.MapField addresses_ = - new Google.Protobuf.Collections.MapField(); - private final Google.Protobuf.Collections.RepeatedField emails_ = - new Google.Protobuf.Collections.RepeatedField(); - private final Google.Protobuf.Collections.RepeatedField phoneNumbers_ = - new Google.Protobuf.Collections.RepeatedField(); - private Google.Protobuf.UnknownFieldSet _unknownFields; - private String confirmNumber_; - private String firstName_; - private String guestId_; - private String lastName_; - private String title_; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests() - public Guests() { - OnConstruction(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests(Guests other) - public Guests(Guests other) { - this(); - setGuestId(other.getGuestId()); - setFirstName(other.getFirstName()); - setLastName(other.getLastName()); - setTitle(other.getTitle()); - emails_ = other.emails_.Clone(); - phoneNumbers_ = other.phoneNumbers_.Clone(); - addresses_ = other.addresses_.Clone(); - setConfirmNumber(other.getConfirmNumber()); - _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections - // .MapField - // Addresses - public Google.Protobuf.Collections.MapField getAddresses() { - return addresses_; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string ConfirmNumber - public String getConfirmNumber() { - return confirmNumber_; - } - - public void setConfirmNumber(String value) { - confirmNumber_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection - // .MessageDescriptor Descriptor - public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { - return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[4]; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor - public Google.Protobuf.Reflection getDescriptor() { - return getDescriptor(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections - // .RepeatedField Emails - public Google.Protobuf.Collections.RepeatedField getEmails() { - return emails_; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string FirstName - public String getFirstName() { - return firstName_; - } - - public void setFirstName(String value) { - firstName_ = value; - } - - /** - * guid - */ - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string GuestId - public String getGuestId() { - return guestId_; - } - - public void setGuestId(String value) { - guestId_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string LastName - public String getLastName() { - return lastName_; - } - - public void setLastName(String value) { - lastName_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf - // .MessageParser Parser - public static Google.Protobuf.MessageParser getParser() { - return _parser; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections - // .RepeatedField PhoneNumbers - public Google.Protobuf.Collections.RepeatedField getPhoneNumbers() { - return phoneNumbers_; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Title - public String getTitle() { - return title_; - } - - public void setTitle(String value) { - title_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() - public int CalculateSize() { - int size = 0; - if (guestId_ != null) { - size += _single_guestId_codec.CalculateSizeWithTag(getGuestId()); - } - if (firstName_ != null) { - size += _single_firstName_codec.CalculateSizeWithTag(getFirstName()); - } - if (lastName_ != null) { - size += _single_lastName_codec.CalculateSizeWithTag(getLastName()); - } - if (title_ != null) { - size += _single_title_codec.CalculateSizeWithTag(getTitle()); - } - size += emails_.CalculateSize(_repeated_emails_codec); - size += phoneNumbers_.CalculateSize(_repeated_phoneNumbers_codec); - size += addresses_.CalculateSize(_map_addresses_codec); - if (confirmNumber_ != null) { - size += _single_confirmNumber_codec.CalculateSizeWithTag(getConfirmNumber()); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests Clone() - public Guests Clone() { - return new Guests(this); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Guests other) - public void MergeFrom(Guests other) { - if (other == null) { - return; - } - if (other.guestId_ != null) { - if (guestId_ == null || !other.getGuestId().equals("")) { - setGuestId(other.getGuestId()); - } - } - if (other.firstName_ != null) { - if (firstName_ == null || !other.getFirstName().equals("")) { - setFirstName(other.getFirstName()); - } - } - if (other.lastName_ != null) { - if (lastName_ == null || !other.getLastName().equals("")) { - setLastName(other.getLastName()); - } - } - if (other.title_ != null) { - if (title_ == null || !other.getTitle().equals("")) { - setTitle(other.getTitle()); - } - } - emails_.Add(other.emails_); - phoneNumbers_.Add(other.phoneNumbers_); - addresses_.Add(other.addresses_); - if (other.confirmNumber_ != null) { - if (confirmNumber_ == null || !other.getConfirmNumber().equals("")) { - setConfirmNumber(other.getConfirmNumber()); - } - } - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf - // .CodedInputStream input) - public void MergeFrom(Google.Protobuf.CodedInputStream input) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint tag; - int tag; - while ((tag = input.ReadTag()) != 0) { - switch (tag) { - default: - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - String value = _single_guestId_codec.Read(input); - if (guestId_ == null || !value.equals("")) { - setGuestId(value); - } - break; - } - case 18: { - String value = _single_firstName_codec.Read(input); - if (firstName_ == null || !value.equals("")) { - setFirstName(value); - } - break; - } - case 26: { - String value = _single_lastName_codec.Read(input); - if (lastName_ == null || !value.equals("")) { - setLastName(value); - } - break; - } - case 34: { - String value = _single_title_codec.Read(input); - if (title_ == null || !value.equals("")) { - setTitle(value); - } - break; - } - case 42: { - emails_.AddEntriesFrom(input, _repeated_emails_codec); - break; - } - case 50: { - phoneNumbers_.AddEntriesFrom(input, _repeated_phoneNumbers_codec); - break; - } - case 58: { - addresses_.AddEntriesFrom(input, _map_addresses_codec); - break; - } - case 66: { - String value = _single_confirmNumber_codec.Read(input); - if (confirmNumber_ == null || !value.equals("")) { - setConfirmNumber(value); - } - break; - } - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf - // .CodedOutputStream output) - public void WriteTo(Google.Protobuf.CodedOutputStream output) { - if (guestId_ != null) { - _single_guestId_codec.WriteTagAndValue(output, getGuestId()); - } - if (firstName_ != null) { - _single_firstName_codec.WriteTagAndValue(output, getFirstName()); - } - if (lastName_ != null) { - _single_lastName_codec.WriteTagAndValue(output, getLastName()); - } - if (title_ != null) { - _single_title_codec.WriteTagAndValue(output, getTitle()); - } - emails_.WriteTo(output, _repeated_emails_codec); - phoneNumbers_.WriteTo(output, _repeated_phoneNumbers_codec); - addresses_.WriteTo(output, _map_addresses_codec); - if (confirmNumber_ != null) { - _single_confirmNumber_codec.WriteTagAndValue(output, getConfirmNumber()); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) - @Override - public boolean equals(Object other) { - return Equals(other instanceof Guests ? (Guests)other : null); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Guests other) - public boolean equals(Guests other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!getGuestId().equals(other.getGuestId())) { - return false; - } - if (!getFirstName().equals(other.getFirstName())) { - return false; - } - if (!getLastName().equals(other.getLastName())) { - return false; - } - if (!getTitle().equals(other.getTitle())) { - return false; - } - if (!emails_.equals(other.emails_)) { - return false; - } - if (!phoneNumbers_.equals(other.phoneNumbers_)) { - return false; - } - if (!getAddresses().equals(other.getAddresses())) { - return false; - } - if (!getConfirmNumber().equals(other.getConfirmNumber())) { - return false; - } - return Equals(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() - @Override - public int hashCode() { - int hash = 1; - if (guestId_ != null) { - hash ^= getGuestId().hashCode(); - } - if (firstName_ != null) { - hash ^= getFirstName().hashCode(); - } - if (lastName_ != null) { - hash ^= getLastName().hashCode(); - } - if (title_ != null) { - hash ^= getTitle().hashCode(); - } - hash ^= emails_.hashCode(); - hash ^= phoneNumbers_.hashCode(); - hash ^= getAddresses().hashCode(); - if (confirmNumber_ != null) { - hash ^= getConfirmNumber().hashCode(); - } - if (_unknownFields != null) { - hash ^= _unknownFields.hashCode(); - } - return hash; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() - @Override - public String toString() { - return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); - } - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + +public final class Guests implements Google.Protobuf.IMessage { + /** + * Field number for the "addresses" field. + */ + public static final int AddressesFieldNumber = 7; + /** + * Field number for the "confirm_number" field. + */ + public static final int ConfirmNumberFieldNumber = 8; + /** + * Field number for the "emails" field. + */ + public static final int EmailsFieldNumber = 5; + /** + * Field number for the "first_name" field. + */ + public static final int FirstNameFieldNumber = 2; + /** + * Field number for the "guest_id" field. + */ + public static final int GuestIdFieldNumber = 1; + /** + * Field number for the "last_name" field. + */ + public static final int LastNameFieldNumber = 3; + + // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: + // partial void OnConstruction(); + /** + * Field number for the "phone_numbers" field. + */ + public static final int PhoneNumbersFieldNumber = 6; + /** + * Field number for the "title" field. + */ + public static final int TitleFieldNumber = 4; + private static final Google.Protobuf.Collections.MapField.Codec _map_addresses_codec = + new Google.Protobuf.Collections.MapField.Codec(Google.Protobuf.FieldCodec.ForString(10), + Google.Protobuf.FieldCodec.ForMessage(18, + Address.getParser()), 58); + private static final Google.Protobuf.MessageParser _parser = + new Google.Protobuf.MessageParser(() -> new Guests()); + private static final Google.Protobuf.FieldCodec _repeated_emails_codec = + Google.Protobuf.FieldCodec.ForString(42); + private static final Google.Protobuf.FieldCodec _repeated_phoneNumbers_codec = + Google.Protobuf.FieldCodec.ForString(50); + private static final Google.Protobuf.FieldCodec _single_confirmNumber_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(66); + private static final Google.Protobuf.FieldCodec _single_firstName_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(18); + private static final Google.Protobuf.FieldCodec _single_guestId_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(10); + private static final Google.Protobuf.FieldCodec _single_lastName_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(26); + private static final Google.Protobuf.FieldCodec _single_title_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(34); + private final Google.Protobuf.Collections.MapField addresses_ = + new Google.Protobuf.Collections.MapField(); + private final Google.Protobuf.Collections.RepeatedField emails_ = + new Google.Protobuf.Collections.RepeatedField(); + private final Google.Protobuf.Collections.RepeatedField phoneNumbers_ = + new Google.Protobuf.Collections.RepeatedField(); + private Google.Protobuf.UnknownFieldSet _unknownFields; + private String confirmNumber_; + private String firstName_; + private String guestId_; + private String lastName_; + private String title_; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests() + public Guests() { + OnConstruction(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests(Guests other) + public Guests(Guests other) { + this(); + setGuestId(other.getGuestId()); + setFirstName(other.getFirstName()); + setLastName(other.getLastName()); + setTitle(other.getTitle()); + emails_ = other.emails_.Clone(); + phoneNumbers_ = other.phoneNumbers_.Clone(); + addresses_ = other.addresses_.Clone(); + setConfirmNumber(other.getConfirmNumber()); + _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections + // .MapField + // Addresses + public Google.Protobuf.Collections.MapField getAddresses() { + return addresses_; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string ConfirmNumber + public String getConfirmNumber() { + return confirmNumber_; + } + + public void setConfirmNumber(String value) { + confirmNumber_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection + // .MessageDescriptor Descriptor + public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { + return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[4]; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor + public Google.Protobuf.Reflection getDescriptor() { + return getDescriptor(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections + // .RepeatedField Emails + public Google.Protobuf.Collections.RepeatedField getEmails() { + return emails_; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string FirstName + public String getFirstName() { + return firstName_; + } + + public void setFirstName(String value) { + firstName_ = value; + } + + /** + * guid + */ + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string GuestId + public String getGuestId() { + return guestId_; + } + + public void setGuestId(String value) { + guestId_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string LastName + public String getLastName() { + return lastName_; + } + + public void setLastName(String value) { + lastName_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf + // .MessageParser Parser + public static Google.Protobuf.MessageParser getParser() { + return _parser; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Google.Protobuf.Collections + // .RepeatedField PhoneNumbers + public Google.Protobuf.Collections.RepeatedField getPhoneNumbers() { + return phoneNumbers_; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Title + public String getTitle() { + return title_; + } + + public void setTitle(String value) { + title_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() + public int CalculateSize() { + int size = 0; + if (guestId_ != null) { + size += _single_guestId_codec.CalculateSizeWithTag(getGuestId()); + } + if (firstName_ != null) { + size += _single_firstName_codec.CalculateSizeWithTag(getFirstName()); + } + if (lastName_ != null) { + size += _single_lastName_codec.CalculateSizeWithTag(getLastName()); + } + if (title_ != null) { + size += _single_title_codec.CalculateSizeWithTag(getTitle()); + } + size += emails_.CalculateSize(_repeated_emails_codec); + size += phoneNumbers_.CalculateSize(_repeated_phoneNumbers_codec); + size += addresses_.CalculateSize(_map_addresses_codec); + if (confirmNumber_ != null) { + size += _single_confirmNumber_codec.CalculateSizeWithTag(getConfirmNumber()); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Guests Clone() + public Guests Clone() { + return new Guests(this); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Guests other) + public void MergeFrom(Guests other) { + if (other == null) { + return; + } + if (other.guestId_ != null) { + if (guestId_ == null || !other.getGuestId().equals("")) { + setGuestId(other.getGuestId()); + } + } + if (other.firstName_ != null) { + if (firstName_ == null || !other.getFirstName().equals("")) { + setFirstName(other.getFirstName()); + } + } + if (other.lastName_ != null) { + if (lastName_ == null || !other.getLastName().equals("")) { + setLastName(other.getLastName()); + } + } + if (other.title_ != null) { + if (title_ == null || !other.getTitle().equals("")) { + setTitle(other.getTitle()); + } + } + emails_.Add(other.emails_); + phoneNumbers_.Add(other.phoneNumbers_); + addresses_.Add(other.addresses_); + if (other.confirmNumber_ != null) { + if (confirmNumber_ == null || !other.getConfirmNumber().equals("")) { + setConfirmNumber(other.getConfirmNumber()); + } + } + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf + // .CodedInputStream input) + public void MergeFrom(Google.Protobuf.CodedInputStream input) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint tag; + int tag; + while ((tag = input.ReadTag()) != 0) { + switch (tag) { + default: + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + String value = _single_guestId_codec.Read(input); + if (guestId_ == null || !value.equals("")) { + setGuestId(value); + } + break; + } + case 18: { + String value = _single_firstName_codec.Read(input); + if (firstName_ == null || !value.equals("")) { + setFirstName(value); + } + break; + } + case 26: { + String value = _single_lastName_codec.Read(input); + if (lastName_ == null || !value.equals("")) { + setLastName(value); + } + break; + } + case 34: { + String value = _single_title_codec.Read(input); + if (title_ == null || !value.equals("")) { + setTitle(value); + } + break; + } + case 42: { + emails_.AddEntriesFrom(input, _repeated_emails_codec); + break; + } + case 50: { + phoneNumbers_.AddEntriesFrom(input, _repeated_phoneNumbers_codec); + break; + } + case 58: { + addresses_.AddEntriesFrom(input, _map_addresses_codec); + break; + } + case 66: { + String value = _single_confirmNumber_codec.Read(input); + if (confirmNumber_ == null || !value.equals("")) { + setConfirmNumber(value); + } + break; + } + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf + // .CodedOutputStream output) + public void WriteTo(Google.Protobuf.CodedOutputStream output) { + if (guestId_ != null) { + _single_guestId_codec.WriteTagAndValue(output, getGuestId()); + } + if (firstName_ != null) { + _single_firstName_codec.WriteTagAndValue(output, getFirstName()); + } + if (lastName_ != null) { + _single_lastName_codec.WriteTagAndValue(output, getLastName()); + } + if (title_ != null) { + _single_title_codec.WriteTagAndValue(output, getTitle()); + } + emails_.WriteTo(output, _repeated_emails_codec); + phoneNumbers_.WriteTo(output, _repeated_phoneNumbers_codec); + addresses_.WriteTo(output, _map_addresses_codec); + if (confirmNumber_ != null) { + _single_confirmNumber_codec.WriteTagAndValue(output, getConfirmNumber()); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) + @Override + public boolean equals(Object other) { + return Equals(other instanceof Guests ? (Guests)other : null); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Guests other) + public boolean equals(Guests other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!getGuestId().equals(other.getGuestId())) { + return false; + } + if (!getFirstName().equals(other.getFirstName())) { + return false; + } + if (!getLastName().equals(other.getLastName())) { + return false; + } + if (!getTitle().equals(other.getTitle())) { + return false; + } + if (!emails_.equals(other.emails_)) { + return false; + } + if (!phoneNumbers_.equals(other.phoneNumbers_)) { + return false; + } + if (!getAddresses().equals(other.getAddresses())) { + return false; + } + if (!getConfirmNumber().equals(other.getConfirmNumber())) { + return false; + } + return Equals(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() + @Override + public int hashCode() { + int hash = 1; + if (guestId_ != null) { + hash ^= getGuestId().hashCode(); + } + if (firstName_ != null) { + hash ^= getFirstName().hashCode(); + } + if (lastName_ != null) { + hash ^= getLastName().hashCode(); + } + if (title_ != null) { + hash ^= getTitle().hashCode(); + } + hash ^= emails_.hashCode(); + hash ^= phoneNumbers_.hashCode(); + hash ^= getAddresses().hashCode(); + if (confirmNumber_ != null) { + hash ^= getConfirmNumber().hashCode(); + } + if (_unknownFields != null) { + hash ^= _unknownFields.hashCode(); + } + return hash; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() + @Override + public String toString() { + return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); + } + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java index aca3549..8444c67 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/Hotels.java @@ -1,316 +1,316 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - -public final class Hotels implements Google.Protobuf.IMessage { - /** - * Field number for the "address" field. - */ - public static final int AddressFieldNumber = 4; - /** - * Field number for the "hotel_id" field. - */ - public static final int HotelIdFieldNumber = 1; - /** - * Field number for the "name" field. - */ - public static final int NameFieldNumber = 2; - /** - * Field number for the "phone" field. - */ - public static final int PhoneFieldNumber = 3; - private static final Google.Protobuf.MessageParser _parser = - new Google.Protobuf.MessageParser(() -> new Hotels()); - private static final Google.Protobuf.FieldCodec _single_hotelId_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(10); - - // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: - // partial void OnConstruction(); - private static final Google.Protobuf.FieldCodec _single_name_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(18); - private static final Google.Protobuf.FieldCodec _single_phone_codec = - Google.Protobuf.FieldCodec.ForClassWrapper(26); - private Google.Protobuf.UnknownFieldSet _unknownFields; - private Address address_; - private String hotelId_; - private String name_; - private String phone_; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels() - public Hotels() { - OnConstruction(); - } - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels(Hotels other) - public Hotels(Hotels other) { - this(); - setHotelId(other.getHotelId()); - setName(other.getName()); - setPhone(other.getPhone()); - setAddress(other.address_ != null ? other.getAddress().Clone() : null); - _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Microsoft.Azure.Cosmos.Serialization - // .HybridRow.Tests.Perf.CassandraHotel.Protobuf.Address Address - public Address getAddress() { - return address_; - } - - public void setAddress(Address value) { - address_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor - public Google.Protobuf.Reflection getDescriptor() { - return getDescriptor(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection - // .MessageDescriptor Descriptor - public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { - return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[2]; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string HotelId - public String getHotelId() { - return hotelId_; - } - - public void setHotelId(String value) { - hotelId_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Name - public String getName() { - return name_; - } - - public void setName(String value) { - name_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf - // .MessageParser Parser - public static Google.Protobuf.MessageParser getParser() { - return _parser; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Phone - public String getPhone() { - return phone_; - } - - public void setPhone(String value) { - phone_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() - public int CalculateSize() { - int size = 0; - if (hotelId_ != null) { - size += _single_hotelId_codec.CalculateSizeWithTag(getHotelId()); - } - if (name_ != null) { - size += _single_name_codec.CalculateSizeWithTag(getName()); - } - if (phone_ != null) { - size += _single_phone_codec.CalculateSizeWithTag(getPhone()); - } - if (address_ != null) { - size += 1 + Google.Protobuf.CodedOutputStream.ComputeMessageSize(getAddress()); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels Clone() - public Hotels Clone() { - return new Hotels(this); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Hotels other) - public void MergeFrom(Hotels other) { - if (other == null) { - return; - } - if (other.hotelId_ != null) { - if (hotelId_ == null || !other.getHotelId().equals("")) { - setHotelId(other.getHotelId()); - } - } - if (other.name_ != null) { - if (name_ == null || !other.getName().equals("")) { - setName(other.getName()); - } - } - if (other.phone_ != null) { - if (phone_ == null || !other.getPhone().equals("")) { - setPhone(other.getPhone()); - } - } - if (other.address_ != null) { - if (address_ == null) { - address_ = new Address(); - } - getAddress().MergeFrom(other.getAddress()); - } - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf - // .CodedInputStream input) - public void MergeFrom(Google.Protobuf.CodedInputStream input) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint tag; - int tag; - while ((tag = input.ReadTag()) != 0) { - switch (tag) { - default: - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - String value = _single_hotelId_codec.Read(input); - if (hotelId_ == null || !value.equals("")) { - setHotelId(value); - } - break; - } - case 18: { - String value = _single_name_codec.Read(input); - if (name_ == null || !value.equals("")) { - setName(value); - } - break; - } - case 26: { - String value = _single_phone_codec.Read(input); - if (phone_ == null || !value.equals("")) { - setPhone(value); - } - break; - } - case 34: { - if (address_ == null) { - address_ = new Address(); - } - input.ReadMessage(address_); - break; - } - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf - // .CodedOutputStream output) - public void WriteTo(Google.Protobuf.CodedOutputStream output) { - if (hotelId_ != null) { - _single_hotelId_codec.WriteTagAndValue(output, getHotelId()); - } - if (name_ != null) { - _single_name_codec.WriteTagAndValue(output, getName()); - } - if (phone_ != null) { - _single_phone_codec.WriteTagAndValue(output, getPhone()); - } - if (address_ != null) { - output.WriteRawTag(34); - output.WriteMessage(getAddress()); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) - @Override - public boolean equals(Object other) { - return Equals(other instanceof Hotels ? (Hotels)other : null); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Hotels other) - public boolean equals(Hotels other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (!getHotelId().equals(other.getHotelId())) { - return false; - } - if (!getName().equals(other.getName())) { - return false; - } - if (!getPhone().equals(other.getPhone())) { - return false; - } - if (!getAddress().equals(other.getAddress())) { - return false; - } - return Equals(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() - @Override - public int hashCode() { - int hash = 1; - if (hotelId_ != null) { - hash ^= getHotelId().hashCode(); - } - if (name_ != null) { - hash ^= getName().hashCode(); - } - if (phone_ != null) { - hash ^= getPhone().hashCode(); - } - if (address_ != null) { - hash ^= getAddress().hashCode(); - } - if (_unknownFields != null) { - hash ^= _unknownFields.hashCode(); - } - return hash; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() - @Override - public String toString() { - return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); - } - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + +public final class Hotels implements Google.Protobuf.IMessage { + /** + * Field number for the "address" field. + */ + public static final int AddressFieldNumber = 4; + /** + * Field number for the "hotel_id" field. + */ + public static final int HotelIdFieldNumber = 1; + /** + * Field number for the "name" field. + */ + public static final int NameFieldNumber = 2; + /** + * Field number for the "phone" field. + */ + public static final int PhoneFieldNumber = 3; + private static final Google.Protobuf.MessageParser _parser = + new Google.Protobuf.MessageParser(() -> new Hotels()); + private static final Google.Protobuf.FieldCodec _single_hotelId_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(10); + + // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: + // partial void OnConstruction(); + private static final Google.Protobuf.FieldCodec _single_name_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(18); + private static final Google.Protobuf.FieldCodec _single_phone_codec = + Google.Protobuf.FieldCodec.ForClassWrapper(26); + private Google.Protobuf.UnknownFieldSet _unknownFields; + private Address address_; + private String hotelId_; + private String name_; + private String phone_; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels() + public Hotels() { + OnConstruction(); + } + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels(Hotels other) + public Hotels(Hotels other) { + this(); + setHotelId(other.getHotelId()); + setName(other.getName()); + setPhone(other.getPhone()); + setAddress(other.address_ != null ? other.getAddress().Clone() : null); + _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Microsoft.Azure.Cosmos.Serialization + // .HybridRow.Tests.Perf.CassandraHotel.Protobuf.Address Address + public Address getAddress() { + return address_; + } + + public void setAddress(Address value) { + address_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor + public Google.Protobuf.Reflection getDescriptor() { + return getDescriptor(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection + // .MessageDescriptor Descriptor + public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { + return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[2]; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string HotelId + public String getHotelId() { + return hotelId_; + } + + public void setHotelId(String value) { + hotelId_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Name + public String getName() { + return name_; + } + + public void setName(String value) { + name_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf + // .MessageParser Parser + public static Google.Protobuf.MessageParser getParser() { + return _parser; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public string Phone + public String getPhone() { + return phone_; + } + + public void setPhone(String value) { + phone_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() + public int CalculateSize() { + int size = 0; + if (hotelId_ != null) { + size += _single_hotelId_codec.CalculateSizeWithTag(getHotelId()); + } + if (name_ != null) { + size += _single_name_codec.CalculateSizeWithTag(getName()); + } + if (phone_ != null) { + size += _single_phone_codec.CalculateSizeWithTag(getPhone()); + } + if (address_ != null) { + size += 1 + Google.Protobuf.CodedOutputStream.ComputeMessageSize(getAddress()); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Hotels Clone() + public Hotels Clone() { + return new Hotels(this); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Hotels other) + public void MergeFrom(Hotels other) { + if (other == null) { + return; + } + if (other.hotelId_ != null) { + if (hotelId_ == null || !other.getHotelId().equals("")) { + setHotelId(other.getHotelId()); + } + } + if (other.name_ != null) { + if (name_ == null || !other.getName().equals("")) { + setName(other.getName()); + } + } + if (other.phone_ != null) { + if (phone_ == null || !other.getPhone().equals("")) { + setPhone(other.getPhone()); + } + } + if (other.address_ != null) { + if (address_ == null) { + address_ = new Address(); + } + getAddress().MergeFrom(other.getAddress()); + } + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf + // .CodedInputStream input) + public void MergeFrom(Google.Protobuf.CodedInputStream input) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint tag; + int tag; + while ((tag = input.ReadTag()) != 0) { + switch (tag) { + default: + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + String value = _single_hotelId_codec.Read(input); + if (hotelId_ == null || !value.equals("")) { + setHotelId(value); + } + break; + } + case 18: { + String value = _single_name_codec.Read(input); + if (name_ == null || !value.equals("")) { + setName(value); + } + break; + } + case 26: { + String value = _single_phone_codec.Read(input); + if (phone_ == null || !value.equals("")) { + setPhone(value); + } + break; + } + case 34: { + if (address_ == null) { + address_ = new Address(); + } + input.ReadMessage(address_); + break; + } + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf + // .CodedOutputStream output) + public void WriteTo(Google.Protobuf.CodedOutputStream output) { + if (hotelId_ != null) { + _single_hotelId_codec.WriteTagAndValue(output, getHotelId()); + } + if (name_ != null) { + _single_name_codec.WriteTagAndValue(output, getName()); + } + if (phone_ != null) { + _single_phone_codec.WriteTagAndValue(output, getPhone()); + } + if (address_ != null) { + output.WriteRawTag(34); + output.WriteMessage(getAddress()); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) + @Override + public boolean equals(Object other) { + return Equals(other instanceof Hotels ? (Hotels)other : null); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(Hotels other) + public boolean equals(Hotels other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!getHotelId().equals(other.getHotelId())) { + return false; + } + if (!getName().equals(other.getName())) { + return false; + } + if (!getPhone().equals(other.getPhone())) { + return false; + } + if (!getAddress().equals(other.getAddress())) { + return false; + } + return Equals(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() + @Override + public int hashCode() { + int hash = 1; + if (hotelId_ != null) { + hash ^= getHotelId().hashCode(); + } + if (name_ != null) { + hash ^= getName().hashCode(); + } + if (phone_ != null) { + hash ^= getPhone().hashCode(); + } + if (address_ != null) { + hash ^= getAddress().hashCode(); + } + if (_unknownFields != null) { + hash ^= _unknownFields.hashCode(); + } + return hash; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() + @Override + public String toString() { + return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); + } + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java index c415172..b68b80d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/perf/cassandrahotel/protobuf/PostalCode.java @@ -1,232 +1,232 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; - -import com.azure.data.cosmos.serialization.hybridrow.perf.*; -import com.google.protobuf.Message; -import com.google.protobuf.Parser; - -// -// Generated by the protocol buffer compiler. DO NOT EDIT! -// source: TestData/CassandraHotelSchema.proto -// - -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pb = Google.Protobuf; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbc = Google.Protobuf.Collections; -//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: -//using pbr = Google.Protobuf.Reflection; - -public final class PostalCode implements Message { - /** - * Field number for the "plus4" field. - */ - public static final int Plus4FieldNumber = 2; - /** - * Field number for the "zip" field. - */ - public static final int ZipFieldNumber = 1; - private static final Parser _parser = new Parser(() -> new PostalCode()); - private static final Google.Protobuf.FieldCodec _single_plus4_codec = - Google.Protobuf.FieldCodec.ForStructWrapper(18); - private static final Google.Protobuf.FieldCodec _single_zip_codec = - Google.Protobuf.FieldCodec.ForStructWrapper(10); - private Google.Protobuf.UnknownFieldSet _unknownFields; - - // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: - // partial void OnConstruction(); - private Integer plus4_; - private Integer zip_; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode() - public PostalCode() { - OnConstruction(); - } - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode(PostalCode other) - public PostalCode(PostalCode other) { - this(); - setZip(other.getZip()); - setPlus4(other.getPlus4()); - _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection - // .MessageDescriptor Descriptor - public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { - return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[0]; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor - public Google.Protobuf.Reflection getDescriptor() { - return getDescriptor(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf - // .MessageParser Parser - public static Google.Protobuf.MessageParser getParser() { - return _parser; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Plus4 - public Integer getPlus4() { - return plus4_; - } - - public void setPlus4(Integer value) { - plus4_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Zip - public Integer getZip() { - return zip_; - } - - public void setZip(Integer value) { - zip_ = value; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() - public int CalculateSize() { - int size = 0; - if (zip_ != null) { - size += _single_zip_codec.CalculateSizeWithTag(getZip()); - } - if (plus4_ != null) { - size += _single_plus4_codec.CalculateSizeWithTag(getPlus4()); - } - if (_unknownFields != null) { - size += _unknownFields.CalculateSize(); - } - return size; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode Clone() - public PostalCode Clone() { - return new PostalCode(this); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(PostalCode other) - public void MergeFrom(PostalCode other) { - if (other == null) { - return; - } - if (other.zip_ != null) { - if (zip_ == null || other.getZip() != 0) { - setZip(other.getZip()); - } - } - if (other.plus4_ != null) { - if (plus4_ == null || other.getPlus4() != 0) { - setPlus4(other.getPlus4()); - } - } - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf - // .CodedInputStream input) - public void MergeFrom(Google.Protobuf.CodedInputStream input) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint tag; - int tag; - while ((tag = input.ReadTag()) != 0) { - switch (tag) { - default: - _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); - break; - case 10: { - Integer value = _single_zip_codec.Read(input); - if (zip_ == null || value != 0) { - setZip(value); - } - break; - } - case 18: { - Integer value = _single_plus4_codec.Read(input); - if (plus4_ == null || value != 0) { - setPlus4(value); - } - break; - } - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf - // .CodedOutputStream output) - public void WriteTo(Google.Protobuf.CodedOutputStream output) { - if (zip_ != null) { - _single_zip_codec.WriteTagAndValue(output, getZip()); - } - if (plus4_ != null) { - _single_plus4_codec.WriteTagAndValue(output, getPlus4()); - } - if (_unknownFields != null) { - _unknownFields.WriteTo(output); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) - @Override - public boolean equals(Object other) { - return Equals(other instanceof PostalCode ? (PostalCode)other : null); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(PostalCode other) - public boolean equals(PostalCode other) { - if (ReferenceEquals(other, null)) { - return false; - } - if (ReferenceEquals(other, this)) { - return true; - } - if (getZip() != other.getZip()) { - return false; - } - if (getPlus4() != other.getPlus4()) { - return false; - } - return Equals(_unknownFields, other._unknownFields); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() - @Override - public int hashCode() { - int hash = 1; - if (zip_ != null) { - hash ^= getZip().hashCode(); - } - if (plus4_ != null) { - hash ^= getPlus4().hashCode(); - } - if (_unknownFields != null) { - hash ^= _unknownFields.hashCode(); - } - return hash; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() - @Override - public String toString() { - return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); - } - +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.protobuf; + +import com.azure.data.cosmos.serialization.hybridrow.perf.*; +import com.google.protobuf.Message; +import com.google.protobuf.Parser; + +// +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: TestData/CassandraHotelSchema.proto +// + +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pb = Google.Protobuf; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbc = Google.Protobuf.Collections; +//C# TO JAVA CONVERTER NOTE: There is no Java equivalent to C# namespace aliases: +//using pbr = Google.Protobuf.Reflection; + +public final class PostalCode implements Message { + /** + * Field number for the "plus4" field. + */ + public static final int Plus4FieldNumber = 2; + /** + * Field number for the "zip" field. + */ + public static final int ZipFieldNumber = 1; + private static final Parser _parser = new Parser(() -> new PostalCode()); + private static final Google.Protobuf.FieldCodec _single_plus4_codec = + Google.Protobuf.FieldCodec.ForStructWrapper(18); + private static final Google.Protobuf.FieldCodec _single_zip_codec = + Google.Protobuf.FieldCodec.ForStructWrapper(10); + private Google.Protobuf.UnknownFieldSet _unknownFields; + + // TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods: + // partial void OnConstruction(); + private Integer plus4_; + private Integer zip_; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode() + public PostalCode() { + OnConstruction(); + } + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode(PostalCode other) + public PostalCode(PostalCode other) { + this(); + setZip(other.getZip()); + setPlus4(other.getPlus4()); + _unknownFields = Google.Protobuf.UnknownFieldSet.Clone(other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf.Reflection + // .MessageDescriptor Descriptor + public static Google.Protobuf.Reflection.MessageDescriptor getDescriptor() { + return CassandraHotelSchemaReflection.getDescriptor().MessageTypes[0]; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] pbr::MessageDescriptor pb::IMessage.Descriptor + public Google.Protobuf.Reflection getDescriptor() { + return getDescriptor(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public static Google.Protobuf + // .MessageParser Parser + public static Google.Protobuf.MessageParser getParser() { + return _parser; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Plus4 + public Integer getPlus4() { + return plus4_; + } + + public void setPlus4(Integer value) { + plus4_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable Zip + public Integer getZip() { + return zip_; + } + + public void setZip(Integer value) { + zip_ = value; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public int CalculateSize() + public int CalculateSize() { + int size = 0; + if (zip_ != null) { + size += _single_zip_codec.CalculateSizeWithTag(getZip()); + } + if (plus4_ != null) { + size += _single_plus4_codec.CalculateSizeWithTag(getPlus4()); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public PostalCode Clone() + public PostalCode Clone() { + return new PostalCode(this); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(PostalCode other) + public void MergeFrom(PostalCode other) { + if (other == null) { + return; + } + if (other.zip_ != null) { + if (zip_ == null || other.getZip() != 0) { + setZip(other.getZip()); + } + } + if (other.plus4_ != null) { + if (plus4_ == null || other.getPlus4() != 0) { + setPlus4(other.getPlus4()); + } + } + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void MergeFrom(Google.Protobuf + // .CodedInputStream input) + public void MergeFrom(Google.Protobuf.CodedInputStream input) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint tag; + int tag; + while ((tag = input.ReadTag()) != 0) { + switch (tag) { + default: + _unknownFields = Google.Protobuf.UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + Integer value = _single_zip_codec.Read(input); + if (zip_ == null || value != 0) { + setZip(value); + } + break; + } + case 18: { + Integer value = _single_plus4_codec.Read(input); + if (plus4_ == null || value != 0) { + setPlus4(value); + } + break; + } + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public void WriteTo(Google.Protobuf + // .CodedOutputStream output) + public void WriteTo(Google.Protobuf.CodedOutputStream output) { + if (zip_ != null) { + _single_zip_codec.WriteTagAndValue(output, getZip()); + } + if (plus4_ != null) { + _single_plus4_codec.WriteTagAndValue(output, getPlus4()); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override bool Equals(object other) + @Override + public boolean equals(Object other) { + return Equals(other instanceof PostalCode ? (PostalCode)other : null); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public bool Equals(PostalCode other) + public boolean equals(PostalCode other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (getZip() != other.getZip()) { + return false; + } + if (getPlus4() != other.getPlus4()) { + return false; + } + return Equals(_unknownFields, other._unknownFields); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override int GetHashCode() + @Override + public int hashCode() { + int hash = 1; + if (zip_ != null) { + hash ^= getZip().hashCode(); + } + if (plus4_ != null) { + hash ^= getPlus4().hashCode(); + } + if (_unknownFields != null) { + hash ^= _unknownFields.hashCode(); + } + return hash; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public override string ToString() + @Override + public String toString() { + return Google.Protobuf.JsonFormatter.ToDiagnosticString(this); + } + } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java index 267067f..f41294d 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ArrayAssert.java @@ -1,45 +1,45 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -public final class ArrayAssert { - public static void AreEqual(T[] expected, T[] actual) { - if (expected == null) { - assert actual == null; - return; - } - - assert actual != null; - assert expected.length == actual.length; - for (int i = 0; i < expected.length; i++) { - assert expected[i] == actual[i]; - } - } - - public static void AreEqual(T[] expected, T[] actual, String message) { - if (expected == null) { - Assert.IsNull(actual, message); - return; - } - - Assert.IsNotNull(actual, message); - Assert.AreEqual(expected.length, actual.length, message); - for (int i = 0; i < expected.length; i++) { - Assert.AreEqual(expected[i], actual[i], message); - } - } - - public static void AreEqual(T[] expected, T[] actual, String message, Object... parameters) { - if (expected == null) { - Assert.IsNull(actual, message, parameters); - return; - } - - Assert.IsNotNull(actual, message, parameters); - Assert.AreEqual(expected.length, actual.length, message, parameters); - for (int i = 0; i < expected.length; i++) { - Assert.AreEqual(expected[i], actual[i], message, parameters); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +public final class ArrayAssert { + public static void AreEqual(T[] expected, T[] actual) { + if (expected == null) { + assert actual == null; + return; + } + + assert actual != null; + assert expected.length == actual.length; + for (int i = 0; i < expected.length; i++) { + assert expected[i] == actual[i]; + } + } + + public static void AreEqual(T[] expected, T[] actual, String message) { + if (expected == null) { + Assert.IsNull(actual, message); + return; + } + + Assert.IsNotNull(actual, message); + Assert.AreEqual(expected.length, actual.length, message); + for (int i = 0; i < expected.length; i++) { + Assert.AreEqual(expected[i], actual[i], message); + } + } + + public static void AreEqual(T[] expected, T[] actual, String message, Object... parameters) { + if (expected == null) { + Assert.IsNull(actual, message, parameters); + return; + } + + Assert.IsNotNull(actual, message, parameters); + Assert.AreEqual(expected.length, actual.length, message, parameters); + for (int i = 0; i < expected.length; i++) { + Assert.AreEqual(expected[i], actual[i], message, parameters); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java index a77c3a5..0698ec2 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/AssertThrowsException.java @@ -1,109 +1,109 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -public final class AssertThrowsException { - /** - * Safely converts an object to a string, handling null values and null characters. Null - * values are converted to "(null)". Null characters are converted to "\\0". - * - * @param input The object to convert to a string. - * @return The converted string. - */ - public static String ReplaceNulls(Object input) { - String input1 = input == null ? null : input.toString(); - if (input1 == null) { - return "(null)"; - } - return Assert.ReplaceNullChars(input1); - } - - /** - * Tests whether the code specified by delegate throws exact given - * exception of type (and not of derived type) and throws - * AssertFailedException - * if code does not throws exception or throws exception of type other than - * . - * - * @param action Delegate to code to be tested and which is expected to throw exception. - * @param message The message to include in the exception when does - * not throws exception of type . - * - * Type of exception expected to be thrown. - * @return The exception that was thrown. - * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if - * does - * not throws exception of type - * . - */ - public static T ThrowsException(tangible.Action0Param action, String message) { - return AssertThrowsException.ThrowsException(action, message, null); - } - - /** - * Tests whether the code specified by delegate throws exact given - * exception of type (and not of derived type) and throws - * AssertFailedException - * if code does not throws exception or throws exception of type other than - * . - * - * @param action Delegate to code to be tested and which is expected to throw exception. - * @param message The message to include in the exception when does - * not throws exception of type . - * @param parameters An array of parameters to use when formatting . - * Type of exception expected to be thrown. - * @return The exception that was thrown. - * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if - * does - * not throws exception of type - * . - */ - public static T ThrowsException(tangible.Action0Param action, String message, - Object... parameters) { - if (action == null) { - throw new NullPointerException("action"); - } - - if (message == null) { - throw new NullPointerException("message"); - } - - try { - action.invoke(); - } catch (RuntimeException ex) { - if (T.class != ex.getClass()) { - Assert.Fail(String.format("Threw exception %3$s, but exception %2$s was expected. %1$s\nException " + - "Message: %4$s\nStack Trace: %5$s", AssertThrowsException.ReplaceNulls(message), - (Object)T.class.Name, ex.getClass().getSimpleName(), ex.getMessage(), - (Object)ex.StackTrace), parameters); - } - - return (T)ex; - } - - Assert.Fail(String.format("No exception thrown. %2$s exception was expected. %1$s", - AssertThrowsException.ReplaceNulls(message), T.class.Name), parameters); - - return null; - } - - /** - * Tests whether the code specified by delegate throws exact given - * exception of type (and not of derived type) and throws - * AssertFailedException - * if code does not throws exception or throws exception of type other than - * . - * - * @param action Delegate to code to be tested and which is expected to throw exception. - * Type of exception expected to be thrown. - * @return The exception that was thrown. - * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if - * does - * not throws exception of type - * . - */ - public static T ThrowsException(tangible.Action0Param action) { - return AssertThrowsException.ThrowsException(action, "", null); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +public final class AssertThrowsException { + /** + * Safely converts an object to a string, handling null values and null characters. Null + * values are converted to "(null)". Null characters are converted to "\\0". + * + * @param input The object to convert to a string. + * @return The converted string. + */ + public static String ReplaceNulls(Object input) { + String input1 = input == null ? null : input.toString(); + if (input1 == null) { + return "(null)"; + } + return Assert.ReplaceNullChars(input1); + } + + /** + * Tests whether the code specified by delegate throws exact given + * exception of type (and not of derived type) and throws + * AssertFailedException + * if code does not throws exception or throws exception of type other than + * . + * + * @param action Delegate to code to be tested and which is expected to throw exception. + * @param message The message to include in the exception when does + * not throws exception of type . + * + * Type of exception expected to be thrown. + * @return The exception that was thrown. + * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if + * does + * not throws exception of type + * . + */ + public static T ThrowsException(tangible.Action0Param action, String message) { + return AssertThrowsException.ThrowsException(action, message, null); + } + + /** + * Tests whether the code specified by delegate throws exact given + * exception of type (and not of derived type) and throws + * AssertFailedException + * if code does not throws exception or throws exception of type other than + * . + * + * @param action Delegate to code to be tested and which is expected to throw exception. + * @param message The message to include in the exception when does + * not throws exception of type . + * @param parameters An array of parameters to use when formatting . + * Type of exception expected to be thrown. + * @return The exception that was thrown. + * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if + * does + * not throws exception of type + * . + */ + public static T ThrowsException(tangible.Action0Param action, String message, + Object... parameters) { + if (action == null) { + throw new NullPointerException("action"); + } + + if (message == null) { + throw new NullPointerException("message"); + } + + try { + action.invoke(); + } catch (RuntimeException ex) { + if (T.class != ex.getClass()) { + Assert.Fail(String.format("Threw exception %3$s, but exception %2$s was expected. %1$s\nException " + + "Message: %4$s\nStack Trace: %5$s", AssertThrowsException.ReplaceNulls(message), + (Object)T.class.Name, ex.getClass().getSimpleName(), ex.getMessage(), + (Object)ex.StackTrace), parameters); + } + + return (T)ex; + } + + Assert.Fail(String.format("No exception thrown. %2$s exception was expected. %1$s", + AssertThrowsException.ReplaceNulls(message), T.class.Name), parameters); + + return null; + } + + /** + * Tests whether the code specified by delegate throws exact given + * exception of type (and not of derived type) and throws + * AssertFailedException + * if code does not throws exception or throws exception of type other than + * . + * + * @param action Delegate to code to be tested and which is expected to throw exception. + * Type of exception expected to be thrown. + * @return The exception that was thrown. + * @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if + * does + * not throws exception of type + * . + */ + public static T ThrowsException(tangible.Action0Param action) { + return AssertThrowsException.ThrowsException(action, "", null); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java index f9dd634..f35ab8e 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CrossVersioningUnitTests.java @@ -1,614 +1,614 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import Newtonsoft.Json.*; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.NullValue; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; - -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Public Fields - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here -// are anonymous.")][DeploymentItem(CrossVersioningUnitTests.SchemaFile, "TestData")][DeploymentItem -// (CrossVersioningUnitTests.ExpectedFile, "TestData")] public sealed class CrossVersioningUnitTests -public final class CrossVersioningUnitTests { - private static final String ExpectedFile = "TestData\\CrossVersioningExpected.json"; - private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); - private static final Float128 SampleFloat128 = new Float128(0, 42); - private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); - private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(704643072, 0); // 42 in big-endian - private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); - private static final String SchemaFile = "TestData\\CrossVersioningSchema.json"; - private Expected expected; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", - // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionDeleteSparse() - public void CrossVersionDeleteSparse() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Sparse")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, - this.expected.getCrossVersionSparse()); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) - d.LayoutCodeSwitch("array_t>", value:new float[][] - { - new float[] { 1, 2, 3 }, - new float[] { 1, 2, 3 } - }) - d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) - d.LayoutCodeSwitch("tuple>", value: - Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) - d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) - d.LayoutCodeSwitch("set_t>", value:new byte[][] - { - new byte[] { 1, 2, 3 }, - new byte[] { 4, 5, 6 }, - new byte[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t>", value:new int[][] - { - new int[] { 1, 2, 3 }, - new int[] { 4, 5, 6 }, - new int[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t", value:new Point[] - { - new Point(1, 2), - new Point(3, 4), - new Point(5, 6) - }) - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, - new byte[] { 4, 5, 6 }) }) - - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), - Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), - Tuple.Create(7, 8) }) }) - - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), - Tuple.Create(3.0, new Point(5, 6)) }) - - assert this.expected.getCrossVersionNullSparse() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadFixed() - public void CrossVersionReadFixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Fixed")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, - this.expected.getCrossVersionFixed()); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullFixed() - public void CrossVersionReadNullFixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Fixed")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool"); - d.LayoutCodeSwitch("int8"); - d.LayoutCodeSwitch("int16"); - d.LayoutCodeSwitch("int32"); - d.LayoutCodeSwitch("int64"); - d.LayoutCodeSwitch("uint8"); - d.LayoutCodeSwitch("uint16"); - d.LayoutCodeSwitch("uint32"); - d.LayoutCodeSwitch("uint64"); - d.LayoutCodeSwitch("float32"); - d.LayoutCodeSwitch("float64"); - d.LayoutCodeSwitch("float128"); - d.LayoutCodeSwitch("decimal"); - d.LayoutCodeSwitch("datetime"); - d.LayoutCodeSwitch("unixdatetime"); - d.LayoutCodeSwitch("guid"); - d.LayoutCodeSwitch("mongodbobjectid"); - d.LayoutCodeSwitch("utf8"); - d.LayoutCodeSwitch("binary"); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullSparse() - public void CrossVersionReadNullSparse() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Sparse")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, - this.expected.getCrossVersionNullSparse()); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool"); - d.LayoutCodeSwitch("int8"); - d.LayoutCodeSwitch("int16"); - d.LayoutCodeSwitch("int32"); - d.LayoutCodeSwitch("int64"); - d.LayoutCodeSwitch("uint8"); - d.LayoutCodeSwitch("uint16"); - d.LayoutCodeSwitch("uint32"); - d.LayoutCodeSwitch("uint64"); - d.LayoutCodeSwitch("float32"); - d.LayoutCodeSwitch("float64"); - d.LayoutCodeSwitch("float128"); - d.LayoutCodeSwitch("decimal"); - d.LayoutCodeSwitch("datetime"); - d.LayoutCodeSwitch("unixdatetime"); - d.LayoutCodeSwitch("guid"); - d.LayoutCodeSwitch("mongodbobjectid"); - d.LayoutCodeSwitch("utf8"); - d.LayoutCodeSwitch("binary"); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullVariable() - public void CrossVersionReadNullVariable() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Variable")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("varint"); - d.LayoutCodeSwitch("varuint"); - d.LayoutCodeSwitch("utf8"); - d.LayoutCodeSwitch("binary"); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", - // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionReadSparse() - public void CrossVersionReadSparse() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Sparse")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, - this.expected.getCrossVersionSparse()); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) - d.LayoutCodeSwitch("array_t>", value:new float[][] - { - new float[] { 1, 2, 3 }, - new float[] { 1, 2, 3 } - }) - d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) - d.LayoutCodeSwitch("tuple>", value: - Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) - d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) - d.LayoutCodeSwitch("set_t>", value:new byte[][] - { - new byte[] { 1, 2, 3 }, - new byte[] { 4, 5, 6 }, - new byte[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t>", value:new int[][] - { - new int[] { 1, 2, 3 }, - new int[] { 4, 5, 6 }, - new int[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t", value:new Point[] - { - new Point(1, 2), - new Point(3, 4), - new Point(5, 6) - }) - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, - new byte[] { 4, 5, 6 }) }) - - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), - Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), - Tuple.Create(7, 8) }) }) - - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create(2.0, new Point(3, 4)), Tuple.Create(3.0, new Point(5, 6)), - Tuple.Create(1.0, new Point(1, 2)) }) - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadVariable() - public void CrossVersionReadVariable() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Variable")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, - this.expected.getCrossVersionVariable()); - d.LayoutCodeSwitch("varint", value:-6148914691236517206L) - d.LayoutCodeSwitch("varuint", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteFixed() - public void CrossVersionWriteFixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Fixed")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - - assert this.expected.getCrossVersionFixed() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullFixed() - public void CrossVersionWriteNullFixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Fixed")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - assert this.expected.getCrossVersionNullFixed() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullSparse() - public void CrossVersionWriteNullSparse() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Sparse")).SchemaId); - assert layout != null; - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - assert this.expected.getCrossVersionNullSparse() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullVariable() - public void CrossVersionWriteNullVariable() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Variable")).SchemaId); - assert layout != null; - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - assert this.expected.getCrossVersionNullVariable() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", - // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionWriteSparse() - public void CrossVersionWriteSparse() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Sparse")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) - d.LayoutCodeSwitch("array_t>", value:new float[][] - { - new float[] { 1, 2, 3 }, - new float[] { 1, 2, 3 } - }) - d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) - d.LayoutCodeSwitch("tuple>", value: - Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) - d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) - d.LayoutCodeSwitch("set_t>", value:new byte[][] - { - new byte[] { 1, 2, 3 }, - new byte[] { 4, 5, 6 }, - new byte[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t>", value:new int[][] - { - new int[] { 1, 2, 3 }, - new int[] { 4, 5, 6 }, - new int[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t", value:new Point[] - { - new Point(1, 2), - new Point(3, 4), - new Point(5, 6) - }) - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, - new byte[] { 4, 5, 6 }) }) - - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), - Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), - Tuple.Create(7, 8) }) }) - - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), - Tuple.Create(3.0, new Point(5, 6)) }) - - assert this.expected.getCrossVersionSparse() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteVariable() - public void CrossVersionWriteVariable() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Variable")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("varint", value:-6148914691236517206L) - d.LayoutCodeSwitch("varuint", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("utf8", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - - assert this.expected.getCrossVersionVariable() == d.RowToHex(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespace() - public void ParseNamespace() { - String json = Files.readString(CrossVersioningUnitTests.SchemaFile); - this.schema = Namespace.Parse(json); - json = Files.readString(CrossVersioningUnitTests.ExpectedFile); - this.expected = JsonConvert.DeserializeObject(json); - this.resolver = new LayoutResolverNamespace(this.schema); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses", Justification = "Instantiated through Reflection.")] private sealed class Expected - private final static class Expected { - private String CrossVersionFixed; - private String CrossVersionNullFixed; - private String CrossVersionNullSparse; - private String CrossVersionNullVariable; - private String CrossVersionSparse; - private String CrossVersionVariable; - - public String getCrossVersionFixed() { - return CrossVersionFixed; - } - - public void setCrossVersionFixed(String value) { - CrossVersionFixed = value; - } - - public String getCrossVersionNullFixed() { - return CrossVersionNullFixed; - } - - public void setCrossVersionNullFixed(String value) { - CrossVersionNullFixed = value; - } - - public String getCrossVersionNullSparse() { - return CrossVersionNullSparse; - } - - public void setCrossVersionNullSparse(String value) { - CrossVersionNullSparse = value; - } - - public String getCrossVersionNullVariable() { - return CrossVersionNullVariable; - } - - public void setCrossVersionNullVariable(String value) { - CrossVersionNullVariable = value; - } - - public String getCrossVersionSparse() { - return CrossVersionSparse; - } - - public void setCrossVersionSparse(String value) { - CrossVersionSparse = value; - } - - public String getCrossVersionVariable() { - return CrossVersionVariable; - } - - public void setCrossVersionVariable(String value) { - CrossVersionVariable = value; - } - } - - private final static class Point implements IDispatchable { - public int X; - public int Y; - - public Point(int x, int y) { - this.X = x; - this.Y = y; - } - - public void Dispatch(Reference dispatcher, Reference scope) { - dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X) - dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y) - } - - @Override - public boolean equals(Object obj) { - if (obj instanceof null) - { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Point; - Point point = tempVar ? (Point)obj : null; - return tempVar && this.equals(point); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return ((new Integer(this.X)).hashCode() * 397) ^ (new Integer(this.Y)).hashCode(); - } - } - - private boolean equals(Point other) { - return this.X == other.X && this.Y == other.Y; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import Newtonsoft.Json.*; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.NullValue; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; + +import java.nio.file.Files; +import java.time.LocalDateTime; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Public Fields + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here +// are anonymous.")][DeploymentItem(CrossVersioningUnitTests.SchemaFile, "TestData")][DeploymentItem +// (CrossVersioningUnitTests.ExpectedFile, "TestData")] public sealed class CrossVersioningUnitTests +public final class CrossVersioningUnitTests { + private static final String ExpectedFile = "TestData\\CrossVersioningExpected.json"; + private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); + private static final Float128 SampleFloat128 = new Float128(0, 42); + private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); + private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(704643072, 0); // 42 in big-endian + private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); + private static final String SchemaFile = "TestData\\CrossVersioningSchema.json"; + private Expected expected; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", + // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionDeleteSparse() + public void CrossVersionDeleteSparse() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Sparse")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, + this.expected.getCrossVersionSparse()); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) + d.LayoutCodeSwitch("array_t>", value:new float[][] + { + new float[] { 1, 2, 3 }, + new float[] { 1, 2, 3 } + }) + d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) + d.LayoutCodeSwitch("tuple>", value: + Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) + d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) + d.LayoutCodeSwitch("set_t>", value:new byte[][] + { + new byte[] { 1, 2, 3 }, + new byte[] { 4, 5, 6 }, + new byte[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t>", value:new int[][] + { + new int[] { 1, 2, 3 }, + new int[] { 4, 5, 6 }, + new int[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t", value:new Point[] + { + new Point(1, 2), + new Point(3, 4), + new Point(5, 6) + }) + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, + new byte[] { 4, 5, 6 }) }) + + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), + Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), + Tuple.Create(7, 8) }) }) + + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), + Tuple.Create(3.0, new Point(5, 6)) }) + + assert this.expected.getCrossVersionNullSparse() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadFixed() + public void CrossVersionReadFixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Fixed")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, + this.expected.getCrossVersionFixed()); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullFixed() + public void CrossVersionReadNullFixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Fixed")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool"); + d.LayoutCodeSwitch("int8"); + d.LayoutCodeSwitch("int16"); + d.LayoutCodeSwitch("int32"); + d.LayoutCodeSwitch("int64"); + d.LayoutCodeSwitch("uint8"); + d.LayoutCodeSwitch("uint16"); + d.LayoutCodeSwitch("uint32"); + d.LayoutCodeSwitch("uint64"); + d.LayoutCodeSwitch("float32"); + d.LayoutCodeSwitch("float64"); + d.LayoutCodeSwitch("float128"); + d.LayoutCodeSwitch("decimal"); + d.LayoutCodeSwitch("datetime"); + d.LayoutCodeSwitch("unixdatetime"); + d.LayoutCodeSwitch("guid"); + d.LayoutCodeSwitch("mongodbobjectid"); + d.LayoutCodeSwitch("utf8"); + d.LayoutCodeSwitch("binary"); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullSparse() + public void CrossVersionReadNullSparse() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Sparse")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, + this.expected.getCrossVersionNullSparse()); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool"); + d.LayoutCodeSwitch("int8"); + d.LayoutCodeSwitch("int16"); + d.LayoutCodeSwitch("int32"); + d.LayoutCodeSwitch("int64"); + d.LayoutCodeSwitch("uint8"); + d.LayoutCodeSwitch("uint16"); + d.LayoutCodeSwitch("uint32"); + d.LayoutCodeSwitch("uint64"); + d.LayoutCodeSwitch("float32"); + d.LayoutCodeSwitch("float64"); + d.LayoutCodeSwitch("float128"); + d.LayoutCodeSwitch("decimal"); + d.LayoutCodeSwitch("datetime"); + d.LayoutCodeSwitch("unixdatetime"); + d.LayoutCodeSwitch("guid"); + d.LayoutCodeSwitch("mongodbobjectid"); + d.LayoutCodeSwitch("utf8"); + d.LayoutCodeSwitch("binary"); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadNullVariable() + public void CrossVersionReadNullVariable() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Variable")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("varint"); + d.LayoutCodeSwitch("varuint"); + d.LayoutCodeSwitch("utf8"); + d.LayoutCodeSwitch("binary"); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", + // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionReadSparse() + public void CrossVersionReadSparse() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Sparse")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, + this.expected.getCrossVersionSparse()); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) + d.LayoutCodeSwitch("array_t>", value:new float[][] + { + new float[] { 1, 2, 3 }, + new float[] { 1, 2, 3 } + }) + d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) + d.LayoutCodeSwitch("tuple>", value: + Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) + d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) + d.LayoutCodeSwitch("set_t>", value:new byte[][] + { + new byte[] { 1, 2, 3 }, + new byte[] { 4, 5, 6 }, + new byte[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t>", value:new int[][] + { + new int[] { 1, 2, 3 }, + new int[] { 4, 5, 6 }, + new int[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t", value:new Point[] + { + new Point(1, 2), + new Point(3, 4), + new Point(5, 6) + }) + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, + new byte[] { 4, 5, 6 }) }) + + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), + Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), + Tuple.Create(7, 8) }) }) + + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create(2.0, new Point(3, 4)), Tuple.Create(3.0, new Point(5, 6)), + Tuple.Create(1.0, new Point(1, 2)) }) + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionReadVariable() + public void CrossVersionReadVariable() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Variable")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.ReadFrom(this.resolver, + this.expected.getCrossVersionVariable()); + d.LayoutCodeSwitch("varint", value:-6148914691236517206L) + d.LayoutCodeSwitch("varuint", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteFixed() + public void CrossVersionWriteFixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Fixed")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + + assert this.expected.getCrossVersionFixed() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullFixed() + public void CrossVersionWriteNullFixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Fixed")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + assert this.expected.getCrossVersionNullFixed() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullSparse() + public void CrossVersionWriteNullSparse() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Sparse")).SchemaId); + assert layout != null; + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + assert this.expected.getCrossVersionNullSparse() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteNullVariable() + public void CrossVersionWriteNullVariable() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Variable")).SchemaId); + assert layout != null; + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + assert this.expected.getCrossVersionNullVariable() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", + // "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")] public void CrossVersionWriteSparse() + public void CrossVersionWriteSparse() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Sparse")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:CrossVersioningUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:CrossVersioningUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:CrossVersioningUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:CrossVersioningUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:CrossVersioningUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) + d.LayoutCodeSwitch("array_t>", value:new float[][] + { + new float[] { 1, 2, 3 }, + new float[] { 1, 2, 3 } + }) + d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) + d.LayoutCodeSwitch("tuple>", value: + Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) + d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) + d.LayoutCodeSwitch("set_t>", value:new byte[][] + { + new byte[] { 1, 2, 3 }, + new byte[] { 4, 5, 6 }, + new byte[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t>", value:new int[][] + { + new int[] { 1, 2, 3 }, + new int[] { 4, 5, 6 }, + new int[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t", value:new Point[] + { + new Point(1, 2), + new Point(3, 4), + new Point(5, 6) + }) + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, + new byte[] { 4, 5, 6 }) }) + + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), + Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), + Tuple.Create(7, 8) }) }) + + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), + Tuple.Create(3.0, new Point(5, 6)) }) + + assert this.expected.getCrossVersionSparse() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CrossVersionWriteVariable() + public void CrossVersionWriteVariable() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Variable")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("varint", value:-6148914691236517206L) + d.LayoutCodeSwitch("varuint", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("utf8", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + + assert this.expected.getCrossVersionVariable() == d.RowToHex(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespace() + public void ParseNamespace() { + String json = Files.readString(CrossVersioningUnitTests.SchemaFile); + this.schema = Namespace.Parse(json); + json = Files.readString(CrossVersioningUnitTests.ExpectedFile); + this.expected = JsonConvert.DeserializeObject(json); + this.resolver = new LayoutResolverNamespace(this.schema); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.Performance", "CA1812:AvoidUninstantiatedInternalClasses", Justification = "Instantiated through Reflection.")] private sealed class Expected + private final static class Expected { + private String CrossVersionFixed; + private String CrossVersionNullFixed; + private String CrossVersionNullSparse; + private String CrossVersionNullVariable; + private String CrossVersionSparse; + private String CrossVersionVariable; + + public String getCrossVersionFixed() { + return CrossVersionFixed; + } + + public void setCrossVersionFixed(String value) { + CrossVersionFixed = value; + } + + public String getCrossVersionNullFixed() { + return CrossVersionNullFixed; + } + + public void setCrossVersionNullFixed(String value) { + CrossVersionNullFixed = value; + } + + public String getCrossVersionNullSparse() { + return CrossVersionNullSparse; + } + + public void setCrossVersionNullSparse(String value) { + CrossVersionNullSparse = value; + } + + public String getCrossVersionNullVariable() { + return CrossVersionNullVariable; + } + + public void setCrossVersionNullVariable(String value) { + CrossVersionNullVariable = value; + } + + public String getCrossVersionSparse() { + return CrossVersionSparse; + } + + public void setCrossVersionSparse(String value) { + CrossVersionSparse = value; + } + + public String getCrossVersionVariable() { + return CrossVersionVariable; + } + + public void setCrossVersionVariable(String value) { + CrossVersionVariable = value; + } + } + + private final static class Point implements IDispatchable { + public int X; + public int Y; + + public Point(int x, int y) { + this.X = x; + this.Y = y; + } + + public void Dispatch(Reference dispatcher, Reference scope) { + dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X) + dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y) + } + + @Override + public boolean equals(Object obj) { + if (obj instanceof null) + { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Point; + Point point = tempVar ? (Point)obj : null; + return tempVar && this.equals(point); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return ((new Integer(this.X)).hashCode() * 397) ^ (new Integer(this.Y)).hashCode(); + } + } + + private boolean equals(Point other) { + return this.X == other.X && this.Y == other.Y; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java index 1b15590..df139bf 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/CustomerExampleUnitTests.java @@ -1,892 +1,892 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.RowCursors; -import com.azure.data.cosmos.serialization.hybridrow.unit.customerschema.Hotel; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.TreeSet; -import java.util.UUID; - -// ReSharper disable once StringLiteralTypo -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here -// are anonymous.")][DeploymentItem("TestData\\CustomerSchema.json", "TestData")] public sealed class -// CustomerExampleUnitTests -public final class CustomerExampleUnitTests { - - private final Hotel hotelExample = new Hotel() { - Id = "The-Westin-St-John-Resort-Villas-1187", - Name ="The Westin St. John Resort Villas", - Phone ="+1 340-693-8000", - Address = new Address { - Street = "300B Chocolate Hole", City = "Great Cruz Bay", State = "VI", PostalCode = new PostalCode { - Zip = 00830, Plus4 = 0001 - } - } - }; - - private LayoutResolver customerResolver; - private Namespace customerSchema; - private Layout guestLayout; - private Layout hotelLayout; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateGuest() - public void CreateGuest() { - RowBuffer row = new RowBuffer(1024 * 1024); - row.initLayout(HybridRowVersion.V1, this.guestLayout, this.customerResolver); - - Guest g1 = new Guest(); - g1.Id = UUID.fromString("64d9d6d3-fd6b-4556-8c6e-d960a7ece7b9"); - g1.FirstName = "John"; - g1.LastName = "Adams"; - g1.Title = "President of the United States"; - g1.PhoneNumbers = new ArrayList(Arrays.asList("(202) 456-1111")); - g1.ConfirmNumber = "(202) 456-1111"; - g1.Emails = new TreeSet { - "president@whitehouse.gov" - } - Address tempVar = new Address(); - tempVar.setStreet("1600 Pennsylvania Avenue NW"); - tempVar.setCity("Washington, D.C."); - tempVar.setState("DC"); - PostalCode tempVar2 = new PostalCode(); - tempVar2.setZip(20500); - tempVar2.setPlus4(0001); - tempVar.setPostalCode(tempVar2); - g1.Addresses = new HashMap(Map.ofEntries(Map.entry("home", tempVar))); - - Reference tempReference_row = - new Reference(row); - RowCursor rc1 = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(row); - Reference tempReference_rc1 = - new Reference(rc1); - this.WriteGuest(tempReference_row2, tempReference_rc1, g1); - rc1 = tempReference_rc1.get(); - row = tempReference_row2.get(); - Reference tempReference_row3 = - new Reference(row); - RowCursor rc2 = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - Reference tempReference_rc2 = - new Reference(rc2); - Guest g2 = this.ReadGuest(tempReference_row4, tempReference_rc2); - rc2 = tempReference_rc2.get(); - row = tempReference_row4.get(); - assert g1 == g2; - - // Append an item to an existing list. - Reference tempReference_row5 = - new Reference(row); - RowCursor rc3 = RowCursor.create(tempReference_row5); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_rc3 = - new Reference(rc3); - int index = this.AppendGuestEmail(tempReference_row6, tempReference_rc3, "vice_president@whitehouse.gov"); - rc3 = tempReference_rc3.get(); - row = tempReference_row6.get(); - assert 1 == index; - g1.Emails.add("vice_president@whitehouse.gov"); - Reference tempReference_row7 = - new Reference(row); - RowCursor rc4 = RowCursor.create(tempReference_row7); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - Reference tempReference_rc4 = - new Reference(rc4); - g2 = this.ReadGuest(tempReference_row8, tempReference_rc4); - rc4 = tempReference_rc4.get(); - row = tempReference_row8.get(); - assert g1 == g2; - - // Prepend an item to an existing list. - Reference tempReference_row9 = - new Reference(row); - RowCursor rc5 = RowCursor.create(tempReference_row9); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - Reference tempReference_rc5 = - new Reference(rc5); - index = this.PrependGuestEmail(tempReference_row10, tempReference_rc5, "ex_president@whitehouse.gov"); - rc5 = tempReference_rc5.get(); - row = tempReference_row10.get(); - assert 0 == index; - g1.Emails = new TreeSet { - "ex_president@whitehouse.gov", "president@whitehouse.gov", "vice_president@whitehouse.gov" - } - Reference tempReference_row11 = - new Reference(row); - RowCursor rc6 = RowCursor.create(tempReference_row11); - row = tempReference_row11.get(); - Reference tempReference_row12 = - new Reference(row); - Reference tempReference_rc6 = - new Reference(rc6); - g2 = this.ReadGuest(tempReference_row12, tempReference_rc6); - rc6 = tempReference_rc6.get(); - row = tempReference_row12.get(); - assert g1 == g2; - - // InsertAt an item to an existing list. - Reference tempReference_row13 = - new Reference(row); - RowCursor rc7 = RowCursor.create(tempReference_row13); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - Reference tempReference_rc7 = - new Reference(rc7); - index = this.InsertAtGuestEmail(tempReference_row14, tempReference_rc7, 1, "future_president@whitehouse.gov"); - rc7 = tempReference_rc7.get(); - row = tempReference_row14.get(); - assert 1 == index; - g1.Emails = new TreeSet { - "ex_president@whitehouse.gov", "future_president@whitehouse.gov", "president@whitehouse.gov", - "vice_president@whitehouse.gov" - } - - Reference tempReference_row15 = - new Reference(row); - RowCursor rc8 = RowCursor.create(tempReference_row15); - row = tempReference_row15.get(); - Reference tempReference_row16 = - new Reference(row); - Reference tempReference_rc8 = - new Reference(rc8); - g2 = this.ReadGuest(tempReference_row16, tempReference_rc8); - rc8 = tempReference_rc8.get(); - row = tempReference_row16.get(); - assert g1 == g2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateHotel() - public void CreateHotel() { - RowBuffer row = new RowBuffer(0); - row.initLayout(HybridRowVersion.V1, this.hotelLayout, this.customerResolver); - - Hotel h1 = this.hotelExample; - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(row); - Reference tempReference_root = - new Reference(root); - this.WriteHotel(tempReference_row2, tempReference_root, h1); - root = tempReference_root.get(); - row = tempReference_row2.get(); - - Reference tempReference_row3 = - new Reference(row); - root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - Reference tempReference_root2 = - new Reference(root); - Hotel h2 = this.ReadHotel(tempReference_row4, tempReference_root2); - root = tempReference_root2.get(); - row = tempReference_row4.get(); - - assert h1 == h2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FrozenHotel() - public void FrozenHotel() { - RowBuffer row = new RowBuffer(0); - row.initLayout(HybridRowVersion.V1, this.hotelLayout, this.customerResolver); - - Hotel h1 = this.hotelExample; - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(row); - Reference tempReference_root = - new Reference(root); - this.WriteHotel(tempReference_row2, tempReference_root, h1); - root = tempReference_root.get(); - row = tempReference_row2.get(); - - Reference tempReference_row3 = - new Reference(row); - root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - Address tempVar = new Address(); - tempVar.setStreet("300B Brownie Way"); - Reference tempReference_row4 = - new Reference(row); - Reference tempReference_root2 = - new Reference(root); - ResultAssert.InsufficientPermissions(this.PartialUpdateHotelAddress(tempReference_row4, tempReference_root2, tempVar)); - root = tempReference_root2.get(); - row = tempReference_row4.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString("TestData\\CustomerSchema.json"); - this.customerSchema = Namespace.Parse(json); - this.customerResolver = new LayoutResolverNamespace(this.customerSchema); - this.hotelLayout = this.customerResolver.Resolve(tangible.ListHelper.find(this.customerSchema.getSchemas(), - x -> x.Name.equals("Hotels")).SchemaId); - this.guestLayout = this.customerResolver.Resolve(tangible.ListHelper.find(this.customerSchema.getSchemas(), - x -> x.Name.equals("Guests")).SchemaId); - } - - private int AppendGuestEmail(Reference row, Reference root, String email) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("emails", out c); - root.get().Find(row, c.Path); - RowCursor emailScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); - assert !emailScope.MoveTo(row, Integer.MAX_VALUE); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email)); - return emailScope.Index; - } - - private int InsertAtGuestEmail(Reference row, Reference root, int i, - String email) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("emails", out c); - root.get().Find(row, c.Path); - RowCursor emailScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); - assert emailScope.MoveTo(row, i); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email, - UpdateOptions.InsertAt)); - return emailScope.Index; - } - - private Result PartialUpdateHotelAddress(Reference row, Reference root, - Address a) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("address", out c); - root.get().Find(row, c.Path); - RowCursor addressScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Result r = c.TypeAs().ReadScope(row, root, out addressScope); - if (r != Result.SUCCESS) { - return r; - } - - Layout addressLayout = addressScope.Layout; - if (a.Street != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert addressLayout.TryFind("street", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = c.TypeAs().WriteVariable(row, ref addressScope, c, a.Street); - if (r != Result.SUCCESS) { - return r; - } - } - - if (a.City != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert addressLayout.TryFind("city", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = c.TypeAs().WriteVariable(row, ref addressScope, c, a.City); - if (r != Result.SUCCESS) { - return r; - } - } - - if (a.State != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert addressLayout.TryFind("state", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = c.TypeAs().WriteFixed(row, ref addressScope, c, a.State); - if (r != Result.SUCCESS) { - return r; - } - } - - if (a.PostalCode != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert addressLayout.TryFind("postal_code", out c); - addressScope.Find(row, c.Path); - RowCursor postalCodeScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = c.TypeAs().WriteScope(row, ref addressScope, c.TypeArgs, out postalCodeScope); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_postalCodeScope = - new Reference(postalCodeScope); - this.WritePostalCode(row, tempReference_postalCodeScope, c.TypeArgs, a.PostalCode); - postalCodeScope = tempReference_postalCodeScope.get(); - } - - return Result.SUCCESS; - } - - private int PrependGuestEmail(Reference row, Reference root, String email) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("emails", out c); - root.get().Find(row, c.Path); - RowCursor emailScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email, - UpdateOptions.InsertAt)); - return emailScope.Index; - } - - private static Address ReadAddress(Reference row, Reference addressScope) { - Address a = new Address(); - Layout addressLayout = addressScope.get().getLayout(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("street", out c); - Out tempOut_Street = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, addressScope, c, tempOut_Street)); - a.Street = tempOut_Street.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("city", out c); - Out tempOut_City = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, addressScope, c, tempOut_City)); - a.City = tempOut_City.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("state", out c); - Out tempOut_State = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, addressScope, c, tempOut_State)); - a.State = tempOut_State.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("postal_code", out c); - addressScope.get().Find(row, c.Path); - RowCursor postalCodeScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, addressScope, out postalCodeScope)); - Reference tempReference_postalCodeScope = - new Reference(postalCodeScope); - a.PostalCode = CustomerExampleUnitTests.ReadPostalCode(row, tempReference_postalCodeScope); - postalCodeScope = tempReference_postalCodeScope.get(); - Reference tempReference_postalCodeScope2 = - new Reference(postalCodeScope); - RowCursors.skip(addressScope.get().clone(), row, - tempReference_postalCodeScope2); - postalCodeScope = tempReference_postalCodeScope2.get(); - return a; - } - - private Guest ReadGuest(Reference row, Reference root) { - Guest g = new Guest(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("guest_id", out c); - Out tempOut_Id = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, root, c, tempOut_Id)); - g.Id = tempOut_Id.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("first_name", out c); - Out tempOut_FirstName = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_FirstName)); - g.FirstName = tempOut_FirstName.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("last_name", out c); - Out tempOut_LastName = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_LastName)); - g.LastName = tempOut_LastName.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("title", out c); - Out tempOut_Title = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Title)); - g.Title = tempOut_Title.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("confirm_number", out c); - Out tempOut_ConfirmNumber = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_ConfirmNumber)); - g.ConfirmNumber = tempOut_ConfirmNumber.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("emails", out c); - RowCursor emailScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out emailScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref emailScope, out emailScope) == Result.SUCCESS) { - g.Emails = new TreeSet(); - while (emailScope.MoveNext(row)) { - String item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref emailScope, - out item)); - g.Emails.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("phone_numbers", out c); - RowCursor phoneNumbersScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out phoneNumbersScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref phoneNumbersScope, out phoneNumbersScope) == Result.SUCCESS) { - g.PhoneNumbers = new ArrayList(); - while (phoneNumbersScope.MoveNext(row)) { - String item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref phoneNumbersScope, - out item)); - g.PhoneNumbers.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("addresses", out c); - RowCursor addressesScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out addressesScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref addressesScope, out addressesScope) == Result.SUCCESS) { - Reference tempReference_addressesScope = new Reference(addressesScope); - TypeArgument tupleType = LayoutType.TypedMap.FieldType(tempReference_addressesScope).clone(); - addressesScope = tempReference_addressesScope.get(); - TypeArgument t0 = tupleType.getTypeArgs().get(0).clone(); - TypeArgument t1 = tupleType.getTypeArgs().get(1).clone(); - g.Addresses = new HashMap(); - RowCursor pairScope = null; - Reference tempReference_pairScope = new Reference(pairScope); - while (addressesScope.MoveNext(row, tempReference_pairScope)) { - pairScope = tempReference_pairScope.get(); - Reference tempReference_addressesScope2 = new Reference(addressesScope); - Out tempOut_pairScope = new Out(); - ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, - tempReference_addressesScope2, tempOut_pairScope)); - pairScope = tempOut_pairScope.get(); - addressesScope = tempReference_addressesScope2.get(); - assert RowCursors.moveNext(pairScope.clone(), row); - Reference tempReference_pairScope2 = new Reference(pairScope); - String key; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(t0.TypeAs().ReadSparse(row, tempReference_pairScope2, out key)); - pairScope = tempReference_pairScope2.get(); - assert RowCursors.moveNext(pairScope.clone(), row); - Reference tempReference_pairScope3 = new Reference(pairScope); - RowCursor addressScope; - Out tempOut_addressScope = new Out(); - ResultAssert.IsSuccess(t1.TypeAs().ReadScope(row, tempReference_pairScope3, tempOut_addressScope)); - addressScope = tempOut_addressScope.get(); - pairScope = tempReference_pairScope3.get(); - Reference tempReference_addressScope = new Reference(addressScope); - Address value = CustomerExampleUnitTests.ReadAddress(row, tempReference_addressScope); - addressScope = tempReference_addressScope.get(); - g.Addresses.put(key, value); - Reference tempReference_addressScope2 = new Reference(addressScope); - assert !RowCursors.moveNext(pairScope.clone(), row, tempReference_addressScope2); - addressScope = tempReference_addressScope2.get(); - } - pairScope = tempReference_pairScope.get(); - } - - return g; - } - - private Hotel ReadHotel(Reference row, Reference root) { - Hotel h = new Hotel(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("hotel_id", out c); - Out tempOut_Id = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Id)); - h.Id = tempOut_Id.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("name", out c); - Out tempOut_Name = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Name)); - h.Name = tempOut_Name.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("phone", out c); - Out tempOut_Phone = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Phone)); - h.Phone = tempOut_Phone.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("address", out c); - assert c.Type.Immutable; - root.get().Find(row, c.Path); - RowCursor addressScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out addressScope)); - assert addressScope.Immutable; - Reference tempReference_addressScope = - new Reference(addressScope); - h.Address = CustomerExampleUnitTests.ReadAddress(row, tempReference_addressScope); - addressScope = tempReference_addressScope.get(); - Reference tempReference_addressScope2 = - new Reference(addressScope); - RowCursors.skip(root.get().clone(), row, - tempReference_addressScope2); - addressScope = tempReference_addressScope2.get(); - return h; - } - - private static PostalCode ReadPostalCode(Reference row, - Reference postalCodeScope) { - Layout postalCodeLayout = postalCodeScope.get().getLayout(); - PostalCode pc = new PostalCode(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert postalCodeLayout.TryFind("zip", out c); - Out tempOut_Zip = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, postalCodeScope, c, tempOut_Zip)); - pc.Zip = tempOut_Zip.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert postalCodeLayout.TryFind("plus4", out c); - postalCodeScope.get().Find(row, c.Path); - short plus4; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadSparse(row, postalCodeScope, out plus4) == Result.SUCCESS) { - pc.Plus4 = plus4; - } - - return pc; - } - - private void WriteAddress(Reference row, Reference addressScope, - TypeArgumentList typeArgs, Address a) { - Layout addressLayout = this.customerResolver.Resolve(typeArgs.getSchemaId().clone()); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("street", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, addressScope, c, a.Street)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("city", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, addressScope, c, a.City)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("state", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, addressScope, c, a.State)); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert addressLayout.TryFind("postal_code", out c); - addressScope.get().Find(row, c.Path); - RowCursor postalCodeScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, addressScope, c.TypeArgs, out postalCodeScope)); - Reference tempReference_postalCodeScope = - new Reference(postalCodeScope); - this.WritePostalCode(row, tempReference_postalCodeScope, c.TypeArgs, a.PostalCode); - postalCodeScope = tempReference_postalCodeScope.get(); - Reference tempReference_postalCodeScope2 = - new Reference(postalCodeScope); - RowCursors.skip(addressScope.get().clone(), row, - tempReference_postalCodeScope2); - postalCodeScope = tempReference_postalCodeScope2.get(); - } - - private void WriteGuest(Reference row, Reference root, Guest g) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("guest_id", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, root, c, g.Id)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("first_name", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.FirstName)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("last_name", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.LastName)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("title", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.Title)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.guestLayout.TryFind("confirm_number", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.ConfirmNumber)); - - if (g.Emails != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.guestLayout.TryFind("emails", out c); - root.get().Find(row, c.Path); - RowCursor emailScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out emailScope)); - for (String email : g.Emails) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email)); - assert !emailScope.MoveNext(row); - } - - Reference tempReference_emailScope = - new Reference(emailScope); - RowCursors.skip(root.get().clone(), row, - tempReference_emailScope); - emailScope = tempReference_emailScope.get(); - } - - if (g.PhoneNumbers != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.guestLayout.TryFind("phone_numbers", out c); - root.get().Find(row, c.Path); - RowCursor phoneNumbersScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, - out phoneNumbersScope)); - for (String phone : g.PhoneNumbers) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref phoneNumbersScope - , phone)); - assert !phoneNumbersScope.MoveNext(row); - } - - Reference tempReference_phoneNumbersScope = - new Reference(phoneNumbersScope); - RowCursors.skip(root.get().clone(), row, - tempReference_phoneNumbersScope); - phoneNumbersScope = tempReference_phoneNumbersScope.get(); - } - - if (g.Addresses != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.guestLayout.TryFind("addresses", out c); - root.get().Find(row, c.Path); - RowCursor addressesScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out addressesScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - TypeArgument tupleType = c.TypeAs().FieldType(ref addressesScope); - TypeArgument t0 = tupleType.getTypeArgs().get(0).clone(); - TypeArgument t1 = tupleType.getTypeArgs().get(1).clone(); - for (Map.Entry pair : g.Addresses.entrySet()) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref tempCursor, - c.TypeArgs, out tupleScope)); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(t0.TypeAs().WriteSparse(row, ref tupleScope, pair.getKey())); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - RowCursor addressScope; - Out tempOut_addressScope = - new Out(); - ResultAssert.IsSuccess(t1.TypeAs().WriteScope(row, tempReference_tupleScope, - t1.getTypeArgs().clone(), tempOut_addressScope)); - addressScope = tempOut_addressScope.get(); - tupleScope = tempReference_tupleScope.get(); - Reference tempReference_addressScope = - new Reference(addressScope); - this.WriteAddress(row, tempReference_addressScope, t1.getTypeArgs().clone(), pair.getValue()); - addressScope = tempReference_addressScope.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !tupleScope.MoveNext(row, ref addressScope); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeAs().MoveField(row, ref addressesScope, - ref tempCursor)); - } - - Reference tempReference_addressesScope = - new Reference(addressesScope); - RowCursors.skip(root.get().clone(), row, - tempReference_addressesScope); - addressesScope = tempReference_addressesScope.get(); - } - } - - private void WriteHotel(Reference row, Reference root, Hotel h) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("hotel_id", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Id)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("name", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Name)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("phone", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Phone)); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.hotelLayout.TryFind("address", out c); - root.get().Find(row, c.Path); - RowCursor addressScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out addressScope)); - Reference tempReference_addressScope = - new Reference(addressScope); - this.WriteAddress(row, tempReference_addressScope, c.TypeArgs, h.Address); - addressScope = tempReference_addressScope.get(); - Reference tempReference_addressScope2 = - new Reference(addressScope); - RowCursors.skip(root.get().clone(), row, - tempReference_addressScope2); - addressScope = tempReference_addressScope2.get(); - } - - private void WritePostalCode(Reference row, Reference postalCodeScope, - TypeArgumentList typeArgs, PostalCode pc) { - Layout postalCodeLayout = this.customerResolver.Resolve(typeArgs.getSchemaId().clone()); - assert postalCodeLayout != null; - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert postalCodeLayout.TryFind("zip", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, postalCodeScope, c, pc.Zip)); - if (pc.Plus4.HasValue) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert postalCodeLayout.TryFind("plus4", out c); - postalCodeScope.get().Find(row, c.Path); - ResultAssert.IsSuccess(c.TypeAs().WriteSparse(row, postalCodeScope, pc.Plus4.Value)); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.RowCursors; +import com.azure.data.cosmos.serialization.hybridrow.unit.customerschema.Hotel; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.TreeSet; +import java.util.UUID; + +// ReSharper disable once StringLiteralTypo +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here +// are anonymous.")][DeploymentItem("TestData\\CustomerSchema.json", "TestData")] public sealed class +// CustomerExampleUnitTests +public final class CustomerExampleUnitTests { + + private final Hotel hotelExample = new Hotel() { + Id = "The-Westin-St-John-Resort-Villas-1187", + Name ="The Westin St. John Resort Villas", + Phone ="+1 340-693-8000", + Address = new Address { + Street = "300B Chocolate Hole", City = "Great Cruz Bay", State = "VI", PostalCode = new PostalCode { + Zip = 00830, Plus4 = 0001 + } + } + }; + + private LayoutResolver customerResolver; + private Namespace customerSchema; + private Layout guestLayout; + private Layout hotelLayout; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateGuest() + public void CreateGuest() { + RowBuffer row = new RowBuffer(1024 * 1024); + row.initLayout(HybridRowVersion.V1, this.guestLayout, this.customerResolver); + + Guest g1 = new Guest(); + g1.Id = UUID.fromString("64d9d6d3-fd6b-4556-8c6e-d960a7ece7b9"); + g1.FirstName = "John"; + g1.LastName = "Adams"; + g1.Title = "President of the United States"; + g1.PhoneNumbers = new ArrayList(Arrays.asList("(202) 456-1111")); + g1.ConfirmNumber = "(202) 456-1111"; + g1.Emails = new TreeSet { + "president@whitehouse.gov" + } + Address tempVar = new Address(); + tempVar.setStreet("1600 Pennsylvania Avenue NW"); + tempVar.setCity("Washington, D.C."); + tempVar.setState("DC"); + PostalCode tempVar2 = new PostalCode(); + tempVar2.setZip(20500); + tempVar2.setPlus4(0001); + tempVar.setPostalCode(tempVar2); + g1.Addresses = new HashMap(Map.ofEntries(Map.entry("home", tempVar))); + + Reference tempReference_row = + new Reference(row); + RowCursor rc1 = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(row); + Reference tempReference_rc1 = + new Reference(rc1); + this.WriteGuest(tempReference_row2, tempReference_rc1, g1); + rc1 = tempReference_rc1.get(); + row = tempReference_row2.get(); + Reference tempReference_row3 = + new Reference(row); + RowCursor rc2 = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + Reference tempReference_rc2 = + new Reference(rc2); + Guest g2 = this.ReadGuest(tempReference_row4, tempReference_rc2); + rc2 = tempReference_rc2.get(); + row = tempReference_row4.get(); + assert g1 == g2; + + // Append an item to an existing list. + Reference tempReference_row5 = + new Reference(row); + RowCursor rc3 = RowCursor.create(tempReference_row5); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_rc3 = + new Reference(rc3); + int index = this.AppendGuestEmail(tempReference_row6, tempReference_rc3, "vice_president@whitehouse.gov"); + rc3 = tempReference_rc3.get(); + row = tempReference_row6.get(); + assert 1 == index; + g1.Emails.add("vice_president@whitehouse.gov"); + Reference tempReference_row7 = + new Reference(row); + RowCursor rc4 = RowCursor.create(tempReference_row7); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + Reference tempReference_rc4 = + new Reference(rc4); + g2 = this.ReadGuest(tempReference_row8, tempReference_rc4); + rc4 = tempReference_rc4.get(); + row = tempReference_row8.get(); + assert g1 == g2; + + // Prepend an item to an existing list. + Reference tempReference_row9 = + new Reference(row); + RowCursor rc5 = RowCursor.create(tempReference_row9); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + Reference tempReference_rc5 = + new Reference(rc5); + index = this.PrependGuestEmail(tempReference_row10, tempReference_rc5, "ex_president@whitehouse.gov"); + rc5 = tempReference_rc5.get(); + row = tempReference_row10.get(); + assert 0 == index; + g1.Emails = new TreeSet { + "ex_president@whitehouse.gov", "president@whitehouse.gov", "vice_president@whitehouse.gov" + } + Reference tempReference_row11 = + new Reference(row); + RowCursor rc6 = RowCursor.create(tempReference_row11); + row = tempReference_row11.get(); + Reference tempReference_row12 = + new Reference(row); + Reference tempReference_rc6 = + new Reference(rc6); + g2 = this.ReadGuest(tempReference_row12, tempReference_rc6); + rc6 = tempReference_rc6.get(); + row = tempReference_row12.get(); + assert g1 == g2; + + // InsertAt an item to an existing list. + Reference tempReference_row13 = + new Reference(row); + RowCursor rc7 = RowCursor.create(tempReference_row13); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + Reference tempReference_rc7 = + new Reference(rc7); + index = this.InsertAtGuestEmail(tempReference_row14, tempReference_rc7, 1, "future_president@whitehouse.gov"); + rc7 = tempReference_rc7.get(); + row = tempReference_row14.get(); + assert 1 == index; + g1.Emails = new TreeSet { + "ex_president@whitehouse.gov", "future_president@whitehouse.gov", "president@whitehouse.gov", + "vice_president@whitehouse.gov" + } + + Reference tempReference_row15 = + new Reference(row); + RowCursor rc8 = RowCursor.create(tempReference_row15); + row = tempReference_row15.get(); + Reference tempReference_row16 = + new Reference(row); + Reference tempReference_rc8 = + new Reference(rc8); + g2 = this.ReadGuest(tempReference_row16, tempReference_rc8); + rc8 = tempReference_rc8.get(); + row = tempReference_row16.get(); + assert g1 == g2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateHotel() + public void CreateHotel() { + RowBuffer row = new RowBuffer(0); + row.initLayout(HybridRowVersion.V1, this.hotelLayout, this.customerResolver); + + Hotel h1 = this.hotelExample; + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(row); + Reference tempReference_root = + new Reference(root); + this.WriteHotel(tempReference_row2, tempReference_root, h1); + root = tempReference_root.get(); + row = tempReference_row2.get(); + + Reference tempReference_row3 = + new Reference(row); + root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + Reference tempReference_root2 = + new Reference(root); + Hotel h2 = this.ReadHotel(tempReference_row4, tempReference_root2); + root = tempReference_root2.get(); + row = tempReference_row4.get(); + + assert h1 == h2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FrozenHotel() + public void FrozenHotel() { + RowBuffer row = new RowBuffer(0); + row.initLayout(HybridRowVersion.V1, this.hotelLayout, this.customerResolver); + + Hotel h1 = this.hotelExample; + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(row); + Reference tempReference_root = + new Reference(root); + this.WriteHotel(tempReference_row2, tempReference_root, h1); + root = tempReference_root.get(); + row = tempReference_row2.get(); + + Reference tempReference_row3 = + new Reference(row); + root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + Address tempVar = new Address(); + tempVar.setStreet("300B Brownie Way"); + Reference tempReference_row4 = + new Reference(row); + Reference tempReference_root2 = + new Reference(root); + ResultAssert.InsufficientPermissions(this.PartialUpdateHotelAddress(tempReference_row4, tempReference_root2, tempVar)); + root = tempReference_root2.get(); + row = tempReference_row4.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString("TestData\\CustomerSchema.json"); + this.customerSchema = Namespace.Parse(json); + this.customerResolver = new LayoutResolverNamespace(this.customerSchema); + this.hotelLayout = this.customerResolver.Resolve(tangible.ListHelper.find(this.customerSchema.getSchemas(), + x -> x.Name.equals("Hotels")).SchemaId); + this.guestLayout = this.customerResolver.Resolve(tangible.ListHelper.find(this.customerSchema.getSchemas(), + x -> x.Name.equals("Guests")).SchemaId); + } + + private int AppendGuestEmail(Reference row, Reference root, String email) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("emails", out c); + root.get().Find(row, c.Path); + RowCursor emailScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); + assert !emailScope.MoveTo(row, Integer.MAX_VALUE); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email)); + return emailScope.Index; + } + + private int InsertAtGuestEmail(Reference row, Reference root, int i, + String email) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("emails", out c); + root.get().Find(row, c.Path); + RowCursor emailScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); + assert emailScope.MoveTo(row, i); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email, + UpdateOptions.InsertAt)); + return emailScope.Index; + } + + private Result PartialUpdateHotelAddress(Reference row, Reference root, + Address a) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("address", out c); + root.get().Find(row, c.Path); + RowCursor addressScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Result r = c.TypeAs().ReadScope(row, root, out addressScope); + if (r != Result.SUCCESS) { + return r; + } + + Layout addressLayout = addressScope.Layout; + if (a.Street != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert addressLayout.TryFind("street", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = c.TypeAs().WriteVariable(row, ref addressScope, c, a.Street); + if (r != Result.SUCCESS) { + return r; + } + } + + if (a.City != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert addressLayout.TryFind("city", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = c.TypeAs().WriteVariable(row, ref addressScope, c, a.City); + if (r != Result.SUCCESS) { + return r; + } + } + + if (a.State != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert addressLayout.TryFind("state", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = c.TypeAs().WriteFixed(row, ref addressScope, c, a.State); + if (r != Result.SUCCESS) { + return r; + } + } + + if (a.PostalCode != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert addressLayout.TryFind("postal_code", out c); + addressScope.Find(row, c.Path); + RowCursor postalCodeScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = c.TypeAs().WriteScope(row, ref addressScope, c.TypeArgs, out postalCodeScope); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_postalCodeScope = + new Reference(postalCodeScope); + this.WritePostalCode(row, tempReference_postalCodeScope, c.TypeArgs, a.PostalCode); + postalCodeScope = tempReference_postalCodeScope.get(); + } + + return Result.SUCCESS; + } + + private int PrependGuestEmail(Reference row, Reference root, String email) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("emails", out c); + root.get().Find(row, c.Path); + RowCursor emailScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out emailScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email, + UpdateOptions.InsertAt)); + return emailScope.Index; + } + + private static Address ReadAddress(Reference row, Reference addressScope) { + Address a = new Address(); + Layout addressLayout = addressScope.get().getLayout(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("street", out c); + Out tempOut_Street = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, addressScope, c, tempOut_Street)); + a.Street = tempOut_Street.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("city", out c); + Out tempOut_City = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, addressScope, c, tempOut_City)); + a.City = tempOut_City.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("state", out c); + Out tempOut_State = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, addressScope, c, tempOut_State)); + a.State = tempOut_State.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("postal_code", out c); + addressScope.get().Find(row, c.Path); + RowCursor postalCodeScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, addressScope, out postalCodeScope)); + Reference tempReference_postalCodeScope = + new Reference(postalCodeScope); + a.PostalCode = CustomerExampleUnitTests.ReadPostalCode(row, tempReference_postalCodeScope); + postalCodeScope = tempReference_postalCodeScope.get(); + Reference tempReference_postalCodeScope2 = + new Reference(postalCodeScope); + RowCursors.skip(addressScope.get().clone(), row, + tempReference_postalCodeScope2); + postalCodeScope = tempReference_postalCodeScope2.get(); + return a; + } + + private Guest ReadGuest(Reference row, Reference root) { + Guest g = new Guest(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("guest_id", out c); + Out tempOut_Id = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, root, c, tempOut_Id)); + g.Id = tempOut_Id.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("first_name", out c); + Out tempOut_FirstName = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_FirstName)); + g.FirstName = tempOut_FirstName.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("last_name", out c); + Out tempOut_LastName = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_LastName)); + g.LastName = tempOut_LastName.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("title", out c); + Out tempOut_Title = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Title)); + g.Title = tempOut_Title.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("confirm_number", out c); + Out tempOut_ConfirmNumber = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_ConfirmNumber)); + g.ConfirmNumber = tempOut_ConfirmNumber.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("emails", out c); + RowCursor emailScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out emailScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref emailScope, out emailScope) == Result.SUCCESS) { + g.Emails = new TreeSet(); + while (emailScope.MoveNext(row)) { + String item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref emailScope, + out item)); + g.Emails.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("phone_numbers", out c); + RowCursor phoneNumbersScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out phoneNumbersScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref phoneNumbersScope, out phoneNumbersScope) == Result.SUCCESS) { + g.PhoneNumbers = new ArrayList(); + while (phoneNumbersScope.MoveNext(row)) { + String item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref phoneNumbersScope, + out item)); + g.PhoneNumbers.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("addresses", out c); + RowCursor addressesScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out addressesScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref addressesScope, out addressesScope) == Result.SUCCESS) { + Reference tempReference_addressesScope = new Reference(addressesScope); + TypeArgument tupleType = LayoutType.TypedMap.FieldType(tempReference_addressesScope).clone(); + addressesScope = tempReference_addressesScope.get(); + TypeArgument t0 = tupleType.getTypeArgs().get(0).clone(); + TypeArgument t1 = tupleType.getTypeArgs().get(1).clone(); + g.Addresses = new HashMap(); + RowCursor pairScope = null; + Reference tempReference_pairScope = new Reference(pairScope); + while (addressesScope.MoveNext(row, tempReference_pairScope)) { + pairScope = tempReference_pairScope.get(); + Reference tempReference_addressesScope2 = new Reference(addressesScope); + Out tempOut_pairScope = new Out(); + ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, + tempReference_addressesScope2, tempOut_pairScope)); + pairScope = tempOut_pairScope.get(); + addressesScope = tempReference_addressesScope2.get(); + assert RowCursors.moveNext(pairScope.clone(), row); + Reference tempReference_pairScope2 = new Reference(pairScope); + String key; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(t0.TypeAs().ReadSparse(row, tempReference_pairScope2, out key)); + pairScope = tempReference_pairScope2.get(); + assert RowCursors.moveNext(pairScope.clone(), row); + Reference tempReference_pairScope3 = new Reference(pairScope); + RowCursor addressScope; + Out tempOut_addressScope = new Out(); + ResultAssert.IsSuccess(t1.TypeAs().ReadScope(row, tempReference_pairScope3, tempOut_addressScope)); + addressScope = tempOut_addressScope.get(); + pairScope = tempReference_pairScope3.get(); + Reference tempReference_addressScope = new Reference(addressScope); + Address value = CustomerExampleUnitTests.ReadAddress(row, tempReference_addressScope); + addressScope = tempReference_addressScope.get(); + g.Addresses.put(key, value); + Reference tempReference_addressScope2 = new Reference(addressScope); + assert !RowCursors.moveNext(pairScope.clone(), row, tempReference_addressScope2); + addressScope = tempReference_addressScope2.get(); + } + pairScope = tempReference_pairScope.get(); + } + + return g; + } + + private Hotel ReadHotel(Reference row, Reference root) { + Hotel h = new Hotel(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("hotel_id", out c); + Out tempOut_Id = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Id)); + h.Id = tempOut_Id.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("name", out c); + Out tempOut_Name = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Name)); + h.Name = tempOut_Name.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("phone", out c); + Out tempOut_Phone = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Phone)); + h.Phone = tempOut_Phone.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("address", out c); + assert c.Type.Immutable; + root.get().Find(row, c.Path); + RowCursor addressScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(row, root, out addressScope)); + assert addressScope.Immutable; + Reference tempReference_addressScope = + new Reference(addressScope); + h.Address = CustomerExampleUnitTests.ReadAddress(row, tempReference_addressScope); + addressScope = tempReference_addressScope.get(); + Reference tempReference_addressScope2 = + new Reference(addressScope); + RowCursors.skip(root.get().clone(), row, + tempReference_addressScope2); + addressScope = tempReference_addressScope2.get(); + return h; + } + + private static PostalCode ReadPostalCode(Reference row, + Reference postalCodeScope) { + Layout postalCodeLayout = postalCodeScope.get().getLayout(); + PostalCode pc = new PostalCode(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert postalCodeLayout.TryFind("zip", out c); + Out tempOut_Zip = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, postalCodeScope, c, tempOut_Zip)); + pc.Zip = tempOut_Zip.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert postalCodeLayout.TryFind("plus4", out c); + postalCodeScope.get().Find(row, c.Path); + short plus4; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadSparse(row, postalCodeScope, out plus4) == Result.SUCCESS) { + pc.Plus4 = plus4; + } + + return pc; + } + + private void WriteAddress(Reference row, Reference addressScope, + TypeArgumentList typeArgs, Address a) { + Layout addressLayout = this.customerResolver.Resolve(typeArgs.getSchemaId().clone()); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("street", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, addressScope, c, a.Street)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("city", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, addressScope, c, a.City)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("state", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, addressScope, c, a.State)); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert addressLayout.TryFind("postal_code", out c); + addressScope.get().Find(row, c.Path); + RowCursor postalCodeScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, addressScope, c.TypeArgs, out postalCodeScope)); + Reference tempReference_postalCodeScope = + new Reference(postalCodeScope); + this.WritePostalCode(row, tempReference_postalCodeScope, c.TypeArgs, a.PostalCode); + postalCodeScope = tempReference_postalCodeScope.get(); + Reference tempReference_postalCodeScope2 = + new Reference(postalCodeScope); + RowCursors.skip(addressScope.get().clone(), row, + tempReference_postalCodeScope2); + postalCodeScope = tempReference_postalCodeScope2.get(); + } + + private void WriteGuest(Reference row, Reference root, Guest g) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("guest_id", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, root, c, g.Id)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("first_name", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.FirstName)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("last_name", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.LastName)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("title", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.Title)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.guestLayout.TryFind("confirm_number", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, g.ConfirmNumber)); + + if (g.Emails != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.guestLayout.TryFind("emails", out c); + root.get().Find(row, c.Path); + RowCursor emailScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out emailScope)); + for (String email : g.Emails) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref emailScope, email)); + assert !emailScope.MoveNext(row); + } + + Reference tempReference_emailScope = + new Reference(emailScope); + RowCursors.skip(root.get().clone(), row, + tempReference_emailScope); + emailScope = tempReference_emailScope.get(); + } + + if (g.PhoneNumbers != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.guestLayout.TryFind("phone_numbers", out c); + root.get().Find(row, c.Path); + RowCursor phoneNumbersScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, + out phoneNumbersScope)); + for (String phone : g.PhoneNumbers) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref phoneNumbersScope + , phone)); + assert !phoneNumbersScope.MoveNext(row); + } + + Reference tempReference_phoneNumbersScope = + new Reference(phoneNumbersScope); + RowCursors.skip(root.get().clone(), row, + tempReference_phoneNumbersScope); + phoneNumbersScope = tempReference_phoneNumbersScope.get(); + } + + if (g.Addresses != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.guestLayout.TryFind("addresses", out c); + root.get().Find(row, c.Path); + RowCursor addressesScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out addressesScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + TypeArgument tupleType = c.TypeAs().FieldType(ref addressesScope); + TypeArgument t0 = tupleType.getTypeArgs().get(0).clone(); + TypeArgument t1 = tupleType.getTypeArgs().get(1).clone(); + for (Map.Entry pair : g.Addresses.entrySet()) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref tempCursor, + c.TypeArgs, out tupleScope)); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(t0.TypeAs().WriteSparse(row, ref tupleScope, pair.getKey())); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + RowCursor addressScope; + Out tempOut_addressScope = + new Out(); + ResultAssert.IsSuccess(t1.TypeAs().WriteScope(row, tempReference_tupleScope, + t1.getTypeArgs().clone(), tempOut_addressScope)); + addressScope = tempOut_addressScope.get(); + tupleScope = tempReference_tupleScope.get(); + Reference tempReference_addressScope = + new Reference(addressScope); + this.WriteAddress(row, tempReference_addressScope, t1.getTypeArgs().clone(), pair.getValue()); + addressScope = tempReference_addressScope.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !tupleScope.MoveNext(row, ref addressScope); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeAs().MoveField(row, ref addressesScope, + ref tempCursor)); + } + + Reference tempReference_addressesScope = + new Reference(addressesScope); + RowCursors.skip(root.get().clone(), row, + tempReference_addressesScope); + addressesScope = tempReference_addressesScope.get(); + } + } + + private void WriteHotel(Reference row, Reference root, Hotel h) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("hotel_id", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Id)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("name", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Name)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("phone", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, h.Phone)); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.hotelLayout.TryFind("address", out c); + root.get().Find(row, c.Path); + RowCursor addressScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, root, c.TypeArgs, out addressScope)); + Reference tempReference_addressScope = + new Reference(addressScope); + this.WriteAddress(row, tempReference_addressScope, c.TypeArgs, h.Address); + addressScope = tempReference_addressScope.get(); + Reference tempReference_addressScope2 = + new Reference(addressScope); + RowCursors.skip(root.get().clone(), row, + tempReference_addressScope2); + addressScope = tempReference_addressScope2.get(); + } + + private void WritePostalCode(Reference row, Reference postalCodeScope, + TypeArgumentList typeArgs, PostalCode pc) { + Layout postalCodeLayout = this.customerResolver.Resolve(typeArgs.getSchemaId().clone()); + assert postalCodeLayout != null; + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert postalCodeLayout.TryFind("zip", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, postalCodeScope, c, pc.Zip)); + if (pc.Plus4.HasValue) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert postalCodeLayout.TryFind("plus4", out c); + postalCodeScope.get().Find(row, c.Path); + ResultAssert.IsSuccess(c.TypeAs().WriteSparse(row, postalCodeScope, pc.Plus4.Value)); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java index 45319b0..2b4371c 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/DeleteRowDispatcher.java @@ -1,167 +1,167 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutIndexedScope; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedSet; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; - -import java.util.List; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal struct DeleteRowDispatcher : IDispatcher -public final class DeleteRowDispatcher implements IDispatcher { - - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { - Dispatch(dispatcher, root, col, t, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, - // LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue value) { - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().deleteSparse(tempReference_Row, root)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - } - - public void DispatchArray(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor arrayScope; - Out tempOut_arrayScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_arrayScope)); - arrayScope = tempOut_arrayScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - if (!arrayScope.Immutable) { - List items = (List)value; - for (Object item : items) { - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - assert arrayScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), item); - } - } - - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - } - - public void DispatchMap(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 2); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor mapScope; - Out tempOut_mapScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_mapScope)); - mapScope = tempOut_mapScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - if (!mapScope.Immutable) { - List items = (List)value; - for (Object item : items) { - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - assert mapScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - dispatcher.get().LayoutCodeSwitch(ref mapScope, null, LayoutType.TypedTuple, typeArgs.clone(), item); - } - } - - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - } - - public void DispatchNullable(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - } - - public void DispatchObject(Reference dispatcher, - Reference scope) { - } - - public void DispatchSet(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor setScope; - Out tempOut_setScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_setScope)); - setScope = tempOut_setScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - if (!setScope.Immutable) { - List items = (List)value; - for (Object item : items) { - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - assert setScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - dispatcher.get().LayoutCodeSwitch(ref setScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), item); - } - } - - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - } - - public void DispatchTuple(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() >= 2); - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - } - - public void DispatchUDT(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { - Reference tempReference_Row = new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutIndexedScope; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedSet; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; + +import java.util.List; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal struct DeleteRowDispatcher : IDispatcher +public final class DeleteRowDispatcher implements IDispatcher { + + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { + Dispatch(dispatcher, root, col, t, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, + // LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue value) { + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().deleteSparse(tempReference_Row, root)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + } + + public void DispatchArray(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor arrayScope; + Out tempOut_arrayScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_arrayScope)); + arrayScope = tempOut_arrayScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + if (!arrayScope.Immutable) { + List items = (List)value; + for (Object item : items) { + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + assert arrayScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), item); + } + } + + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + } + + public void DispatchMap(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 2); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor mapScope; + Out tempOut_mapScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_mapScope)); + mapScope = tempOut_mapScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + if (!mapScope.Immutable) { + List items = (List)value; + for (Object item : items) { + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + assert mapScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + dispatcher.get().LayoutCodeSwitch(ref mapScope, null, LayoutType.TypedTuple, typeArgs.clone(), item); + } + } + + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + } + + public void DispatchNullable(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + } + + public void DispatchObject(Reference dispatcher, + Reference scope) { + } + + public void DispatchSet(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor setScope; + Out tempOut_setScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_setScope)); + setScope = tempOut_setScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + if (!setScope.Immutable) { + List items = (List)value; + for (Object item : items) { + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + assert setScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + dispatcher.get().LayoutCodeSwitch(ref setScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), item); + } + } + + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row3, scope)); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + } + + public void DispatchTuple(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() >= 2); + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + } + + public void DispatchUDT(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { + Reference tempReference_Row = new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().DeleteScope(tempReference_Row, scope)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java index dc97fbf..7591ddc 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatchable.java @@ -1,11 +1,11 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; - -public interface IDispatchable { - void Dispatch(Reference dispatcher, Reference scope); +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; + +public interface IDispatchable { + void Dispatch(Reference dispatcher, Reference scope); } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java index 181afd4..c9fdc9f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/IDispatcher.java @@ -1,42 +1,42 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; - -public interface IDispatcher { - - , TValue> void Dispatch(Reference dispatcher, - Reference scope, LayoutColumn col, - LayoutType t); - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor scope, - // LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType; - , TValue> void Dispatch(Reference dispatcher, - Reference scope, LayoutColumn col, - LayoutType t, TValue value); - - void DispatchArray(Reference dispatcher, Reference scope, - LayoutType t, TypeArgumentList typeArgs, Object value); - - void DispatchMap(Reference dispatcher, Reference scope, - LayoutType t, TypeArgumentList typeArgs, Object value); - - void DispatchNullable(Reference dispatcher, Reference scope, - LayoutType t, TypeArgumentList typeArgs, Object value); - - void DispatchObject(Reference dispatcher, Reference scope); - - void DispatchSet(Reference dispatcher, Reference scope, - LayoutType t, TypeArgumentList typeArgs, Object value); - - void DispatchTuple(Reference dispatcher, Reference scope, - LayoutType t, TypeArgumentList typeArgs, Object value); - - void DispatchUDT(Reference dispatcher, Reference scope, - LayoutType type, TypeArgumentList typeArgs, Object value); +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; + +public interface IDispatcher { + + , TValue> void Dispatch(Reference dispatcher, + Reference scope, LayoutColumn col, + LayoutType t); + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor scope, + // LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType; + , TValue> void Dispatch(Reference dispatcher, + Reference scope, LayoutColumn col, + LayoutType t, TValue value); + + void DispatchArray(Reference dispatcher, Reference scope, + LayoutType t, TypeArgumentList typeArgs, Object value); + + void DispatchMap(Reference dispatcher, Reference scope, + LayoutType t, TypeArgumentList typeArgs, Object value); + + void DispatchNullable(Reference dispatcher, Reference scope, + LayoutType t, TypeArgumentList typeArgs, Object value); + + void DispatchObject(Reference dispatcher, Reference scope); + + void DispatchSet(Reference dispatcher, Reference scope, + LayoutType t, TypeArgumentList typeArgs, Object value); + + void DispatchTuple(Reference dispatcher, Reference scope, + LayoutType t, TypeArgumentList typeArgs, Object value); + + void DispatchUDT(Reference dispatcher, Reference scope, + LayoutType type, TypeArgumentList typeArgs, Object value); } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java index b3affa9..fd90ef4 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutCompilerUnitTests.java @@ -1,3238 +1,3238 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.NullValue; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBit; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.UUID; - -// ReSharper disable CommentTypo -// ReSharper disable StringLiteralTypo -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1201 // Elements should appear in the correct order -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable IDE0008 // Use explicit type - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here -// are anonymous.")] public class LayoutCompilerUnitTests -public class LayoutCompilerUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PackNullAndBoolBits() - public final void PackNullAndBoolBits() { - // Test that null bits and bool bits are packed tightly in the layout. - Schema s = new Schema(); - s.setName("TestSchema"); - s.setSchemaId(new SchemaId(1)); - s.setType(TypeKind.Schema); - for (int i = 0; i < 32; i++) { - Property tempVar = new Property(); - tempVar.setPath(String.valueOf(i)); - PrimitivePropertyType tempVar2 = new PrimitivePropertyType(); - tempVar2.setType(TypeKind.Boolean); - tempVar2.setStorage(StorageKind.Fixed); - tempVar.setPropertyType(tempVar2); - s.getProperties().add(tempVar); - - Namespace tempVar3 = new Namespace(); - tempVar3.setSchemas(new ArrayList(Arrays.asList(s))); - Layout layout = s.Compile(tempVar3); - Assert.IsTrue(layout.getSize() == LayoutBit.divCeiling((i + 1) * 2, LayoutType.BitsPerByte), "Size: {0}, " + - "i: {1}", layout.getSize(), i); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaFixed() - public final void ParseSchemaFixed() { - // Test all fixed column types. - RoundTripFixed.Expected tempVar = new RoundTripFixed.Expected(); - tempVar.TypeName = "null"; - tempVar.Default = new NullValue(); - tempVar.Value = NullValue.DEFAULT; - RoundTripFixed.Expected tempVar2 = new RoundTripFixed.Expected(); - tempVar2.TypeName = "bool"; - tempVar2.Default = false; - tempVar2.Value = false; - RoundTripFixed.Expected tempVar3 = new RoundTripFixed.Expected(); - tempVar3.TypeName = "int8"; - tempVar3.Default = 0; - tempVar3.Value = (byte)42; - RoundTripFixed.Expected tempVar4 = new RoundTripFixed.Expected(); - tempVar4.TypeName = "int16"; - tempVar4.Default = 0; - tempVar4.Value = (short)42; - RoundTripFixed.Expected tempVar5 = new RoundTripFixed.Expected(); - tempVar5.TypeName = "int32"; - tempVar5.Default = 0; - tempVar5.Value = 42; - RoundTripFixed.Expected tempVar6 = new RoundTripFixed.Expected(); - tempVar6.TypeName = "int64"; - tempVar6.Default = 0; - tempVar6.Value = 42L; - RoundTripFixed.Expected tempVar7 = new RoundTripFixed.Expected(); - tempVar7.TypeName = "uint8"; - tempVar7.Default = 0; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar7.Value = (byte)42; - tempVar7.Value = (byte)42; - RoundTripFixed.Expected tempVar8 = new RoundTripFixed.Expected(); - tempVar8.TypeName = "uint16"; - tempVar8.Default = 0; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar8.Value = (ushort)42; - tempVar8.Value = (short)42; - RoundTripFixed.Expected tempVar9 = new RoundTripFixed.Expected(); - tempVar9.TypeName = "uint32"; - tempVar9.Default = 0; - tempVar9.Value = 42; - RoundTripFixed.Expected tempVar10 = new RoundTripFixed.Expected(); - tempVar10.TypeName = "uint64"; - tempVar10.Default = 0; - tempVar10.Value = 42; - RoundTripFixed.Expected tempVar11 = new RoundTripFixed.Expected(); - tempVar11.TypeName = "float32"; - tempVar11.Default = 0; - tempVar11.Value = 4.2F; - RoundTripFixed.Expected tempVar12 = new RoundTripFixed.Expected(); - tempVar12.TypeName = "float64"; - tempVar12.Default = 0; - tempVar12.Value = 4.2; - RoundTripFixed.Expected tempVar13 = new RoundTripFixed.Expected(); - tempVar13.TypeName = "float128"; - tempVar13.Default = new Float128(); - tempVar13.Value = new Float128(0, 42); - RoundTripFixed.Expected tempVar14 = new RoundTripFixed.Expected(); - tempVar14.TypeName = "decimal"; - tempVar14.Default = new BigDecimal(0); - tempVar14.Value = 4.2; - RoundTripFixed.Expected tempVar15 = new RoundTripFixed.Expected(); - tempVar15.TypeName = "datetime"; - tempVar15.Default = LocalDateTime.MIN; - tempVar15.Value = LocalDateTime.UtcNow; - RoundTripFixed.Expected tempVar16 = new RoundTripFixed.Expected(); - tempVar16.TypeName = "unixdatetime"; - tempVar16.Default = new UnixDateTime(); - tempVar16.Value = new UnixDateTime(42); - RoundTripFixed.Expected tempVar17 = new RoundTripFixed.Expected(); - tempVar17.TypeName = "guid"; - tempVar17.Default = null; - tempVar17.Value = UUID.NewGuid(); - RoundTripFixed.Expected tempVar18 = new RoundTripFixed.Expected(); - tempVar18.TypeName = "mongodbobjectid"; - tempVar18.Default = new MongoDbObjectId(); - tempVar18.Value = new MongoDbObjectId(0, 42); - RoundTripFixed.Expected tempVar19 = new RoundTripFixed.Expected(); - tempVar19.TypeName = "utf8"; - tempVar19.Default = "\0\0"; - tempVar19.Value = "AB"; - tempVar19.Length = 2; - RoundTripFixed.Expected tempVar20 = new RoundTripFixed.Expected(); - tempVar20.TypeName = "binary"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar20.Default = new byte[] { 0x00, 0x00 }; - tempVar20.Default = new byte[] { 0x00, 0x00 }; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar20.Value = new byte[] { 0x01, 0x02 }; - tempVar20.Value = new byte[] { 0x01, 0x02 }; - tempVar20.Length = 2; - RoundTripFixed.Expected[] expectedSchemas = - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripFixed.Expected[] { tempVar, tempVar2, tempVar3, tempVar4, tempVar5, tempVar6, tempVar7, tempVar8, tempVar9, tempVar10, tempVar11, tempVar12, tempVar13, tempVar14, tempVar15, tempVar16, tempVar17, tempVar18, tempVar19, tempVar20 }; - - RowBuffer row = new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for (String nullable : new String[] { "true", "false" }) { - for (RoundTripFixed.Expected exp : expectedSchemas) { - RoundTripFixed.Expected expected = exp.clone(); - String typeSchema = String.format("{'type': '%1$s', 'storage': 'fixed', 'length': %2$s, 'nullable': " + - "%3$s", expected.TypeName, expected.Length, nullable - } - }) - expected.Json = typeSchema; - String propSchema = String.format("{'path': 'a', 'type': %1$s", typeSchema - } -}); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); - try - { - Schema s=Schema.Parse(tableSchema); - Namespace tempVar21=new Namespace(); - tempVar21.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar21); - Layout layout=resolver.Resolve(new SchemaId(-1)); - Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); - Assert.AreEqual(s.getName(),layout.getName(),"Json: {0}",expected.Json); - Assert.IsTrue(layout.toString().length()>0,"Json: {0}",expected.Json); - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Fixed,col.Storage,"Json: {0}",expected.Json); - Assert.AreEqual(expected.Length==0,col.Type.IsFixed,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripFixed.Closure tempVar22=new RoundTripFixed.Closure(); - tempVar22.Col=col; - tempVar22.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2,tempRef_root, - tempVar22.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - catch(LayoutCompilationException e) - { - assert expected.TypeName.equals("null"); - assert"false"==nullable; - } - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaVariable() -public final void ParseSchemaVariable() - { - // Helper functions to create sample arrays. - // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: - // string MakeS(int size) - // { - // StringBuilder ret = new StringBuilder(size); - // for (int i = 0; i < size; i++) - // { - // ret.Append(unchecked((char)('a' + (i % 26)))); // allow wrapping (this also allows \0 chars) - // } - // - // return ret.ToString(); - // } - - // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: - // byte[] MakeB(int size) - // { - // byte[] ret = new byte[size]; - // for (int i = 0; i < size; i++) - // { - // ret[i] = unchecked((byte)(i + 1)); // allow wrapping - // } - // - // return ret; - // } - - // Test all variable column types. - RoundTripVariable.Expected tempVar=new RoundTripVariable.Expected(); - tempVar.Json="{'type': 'utf8', 'storage': 'variable', 'length': 100}"; - tempVar.Short=MakeS(2); - tempVar.Value=MakeS(20); - tempVar.Long=MakeS(100); - tempVar.TooBig=MakeS(200); - RoundTripVariable.Expected tempVar2=new RoundTripVariable.Expected(); - tempVar2.Json="{'type': 'binary', 'storage': 'variable', 'length': 100}"; - tempVar2.Short=MakeB(2); - tempVar2.Value=MakeB(20); - tempVar2.Long=MakeB(100); - tempVar2.TooBig=MakeB(200); - RoundTripVariable.Expected tempVar3=new RoundTripVariable.Expected(); - tempVar3.Json="{'type': 'varint', 'storage': 'variable'}"; - tempVar3.Short=1L; - tempVar3.Value=255L; - tempVar3.Long=Long.MAX_VALUE; - RoundTripVariable.Expected tempVar4=new RoundTripVariable.Expected(); - tempVar4.Json="{'type': 'varuint', 'storage': 'variable'}"; - tempVar4.Short=1; - tempVar4.Value=255; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar4.Long = ulong.MaxValue; - tempVar4.Long=Long.MAX_VALUE; - RoundTripVariable.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripVariable.Expected[]{tempVar,tempVar2,tempVar3,tempVar4}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripVariable.Expected expected:expectedSchemas) - { - String propSchema=String.format("{'path': 'a', 'type': %1$s, ",expected.Json}})+"\r\n"+ - " {{'path': 'b', 'type': {expected.Json}}}, "+"\r\n"+ - " {{'path': 'c', 'type': {expected.Json}}}"; - - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar5=new Namespace(); - tempVar5.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar5); - Layout layout=resolver.Resolve(new SchemaId(-1)); - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - assert col.Type.AllowVariable; - Assert.AreEqual(StorageKind.Variable,col.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripVariable.Closure tempVar6=new RoundTripVariable.Closure(); - tempVar6.Layout=layout; - tempVar6.Col=col; - tempVar6.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, - tempRef_root,tempVar6.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SparseOrdering() -public final void SparseOrdering() - { - // Test various orderings of multiple sparse column types. - RoundTripSparseOrdering.Expected tempVar=new RoundTripSparseOrdering.Expected(); - tempVar.Path="a"; - tempVar.Type=LayoutType.Utf8; - tempVar.Value="aa"; - RoundTripSparseOrdering.Expected tempVar2=new RoundTripSparseOrdering.Expected(); - tempVar2.Path="b"; - tempVar2.Type=LayoutType.Utf8; - tempVar2.Value="bb"; - RoundTripSparseOrdering.Expected tempVar3=new RoundTripSparseOrdering.Expected(); - tempVar3.Path="a"; - tempVar3.Type=LayoutType.VarInt; - tempVar3.Value=42L; - RoundTripSparseOrdering.Expected tempVar4=new RoundTripSparseOrdering.Expected(); - tempVar4.Path="b"; - tempVar4.Type=LayoutType.Int64; - tempVar4.Value=43L; - RoundTripSparseOrdering.Expected tempVar5=new RoundTripSparseOrdering.Expected(); - tempVar5.Path="a"; - tempVar5.Type=LayoutType.VarInt; - tempVar5.Value=42L; - RoundTripSparseOrdering.Expected tempVar6=new RoundTripSparseOrdering.Expected(); - tempVar6.Path="b"; - tempVar6.Type=LayoutType.Utf8; - tempVar6.Value="aa"; - RoundTripSparseOrdering.Expected tempVar7=new RoundTripSparseOrdering.Expected(); - tempVar7.Path="c"; - tempVar7.Type=LayoutType.Null; - tempVar7.Value=NullValue.Default; - RoundTripSparseOrdering.Expected tempVar8=new RoundTripSparseOrdering.Expected(); - tempVar8.Path="d"; - tempVar8.Type=LayoutType.Boolean; - tempVar8.Value=true; - RoundTripSparseOrdering.Expected[][]expectedOrders= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[][] - { - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar,tempVar2}, - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar3,tempVar4}, - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar5,tempVar6,tempVar7,tempVar8} - }; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseOrdering.Expected[]expectedSet:expectedOrders) - { - for(java.lang.Iterablepermutation:expectedSet.Permute()) - { - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to LINQ query syntax: - String json=tangible.StringHelper.join(", ",from p in permutation select p.Path+": "+p.Type.Name); - System.out.printf("%1$s"+"\r\n",json); - - row.Reset(); - row.InitLayout(HybridRowVersion.V1,Layout.Empty,SystemSchema.LayoutResolver); - for(RoundTripSparseOrdering.Expected field:permutation) - { - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripSparseOrdering.Closure tempVar9=new RoundTripSparseOrdering.Closure(); - tempVar9.Expected=field.clone(); - tempVar9.Json=json; - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(field.Type.LayoutCode, - tempRef_row2,tempRef_root,tempVar9.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseSimple() -public final void ParseSchemaSparseSimple() - { - // Test all sparse column types. - RoundTripSparseSimple.Expected tempVar=new RoundTripSparseSimple.Expected(); - tempVar.Json="{'type': 'null', 'storage': 'sparse'}"; - tempVar.Value=NullValue.Default; - RoundTripSparseSimple.Expected tempVar2=new RoundTripSparseSimple.Expected(); - tempVar2.Json="{'type': 'bool', 'storage': 'sparse'}"; - tempVar2.Value=true; - RoundTripSparseSimple.Expected tempVar3=new RoundTripSparseSimple.Expected(); - tempVar3.Json="{'type': 'bool', 'storage': 'sparse'}"; - tempVar3.Value=false; - RoundTripSparseSimple.Expected tempVar4=new RoundTripSparseSimple.Expected(); - tempVar4.Json="{'type': 'int8', 'storage': 'sparse'}"; - tempVar4.Value=(byte)42; - RoundTripSparseSimple.Expected tempVar5=new RoundTripSparseSimple.Expected(); - tempVar5.Json="{'type': 'int16', 'storage': 'sparse'}"; - tempVar5.Value=(short)42; - RoundTripSparseSimple.Expected tempVar6=new RoundTripSparseSimple.Expected(); - tempVar6.Json="{'type': 'int32', 'storage': 'sparse'}"; - tempVar6.Value=42; - RoundTripSparseSimple.Expected tempVar7=new RoundTripSparseSimple.Expected(); - tempVar7.Json="{'type': 'int64', 'storage': 'sparse'}"; - tempVar7.Value=42L; - RoundTripSparseSimple.Expected tempVar8=new RoundTripSparseSimple.Expected(); - tempVar8.Json="{'type': 'uint8', 'storage': 'sparse'}"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar8.Value = (byte)42; - tempVar8.Value=(byte)42; - RoundTripSparseSimple.Expected tempVar9=new RoundTripSparseSimple.Expected(); - tempVar9.Json="{'type': 'uint16', 'storage': 'sparse'}"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar9.Value = (ushort)42; - tempVar9.Value=(short)42; - RoundTripSparseSimple.Expected tempVar10=new RoundTripSparseSimple.Expected(); - tempVar10.Json="{'type': 'uint32', 'storage': 'sparse'}"; - tempVar10.Value=42; - RoundTripSparseSimple.Expected tempVar11=new RoundTripSparseSimple.Expected(); - tempVar11.Json="{'type': 'uint64', 'storage': 'sparse'}"; - tempVar11.Value=42; - RoundTripSparseSimple.Expected tempVar12=new RoundTripSparseSimple.Expected(); - tempVar12.Json="{'type': 'varint', 'storage': 'sparse'}"; - tempVar12.Value=42L; - RoundTripSparseSimple.Expected tempVar13=new RoundTripSparseSimple.Expected(); - tempVar13.Json="{'type': 'varuint', 'storage': 'sparse'}"; - tempVar13.Value=42; - RoundTripSparseSimple.Expected tempVar14=new RoundTripSparseSimple.Expected(); - tempVar14.Json="{'type': 'float32', 'storage': 'sparse'}"; - tempVar14.Value=4.2F; - RoundTripSparseSimple.Expected tempVar15=new RoundTripSparseSimple.Expected(); - tempVar15.Json="{'type': 'float64', 'storage': 'sparse'}"; - tempVar15.Value=4.2; - RoundTripSparseSimple.Expected tempVar16=new RoundTripSparseSimple.Expected(); - tempVar16.Json="{'type': 'float128', 'storage': 'sparse'}"; - tempVar16.Value=new Float128(0,42); - RoundTripSparseSimple.Expected tempVar17=new RoundTripSparseSimple.Expected(); - tempVar17.Json="{'type': 'decimal', 'storage': 'sparse'}"; - tempVar17.Value=4.2; - RoundTripSparseSimple.Expected tempVar18=new RoundTripSparseSimple.Expected(); - tempVar18.Json="{'type': 'datetime', 'storage': 'sparse'}"; - tempVar18.Value=LocalDateTime.UtcNow; - RoundTripSparseSimple.Expected tempVar19=new RoundTripSparseSimple.Expected(); - tempVar19.Json="{'type': 'unixdatetime', 'storage': 'sparse'}"; - tempVar19.Value=new UnixDateTime(42); - RoundTripSparseSimple.Expected tempVar20=new RoundTripSparseSimple.Expected(); - tempVar20.Json="{'type': 'guid', 'storage': 'sparse'}"; - tempVar20.Value=UUID.NewGuid(); - RoundTripSparseSimple.Expected tempVar21=new RoundTripSparseSimple.Expected(); - tempVar21.Json="{'type': 'mongodbobjectid', 'storage': 'sparse'}"; - tempVar21.Value=new MongoDbObjectId(0,42); - RoundTripSparseSimple.Expected tempVar22=new RoundTripSparseSimple.Expected(); - tempVar22.Json="{'type': 'utf8', 'storage': 'sparse'}"; - tempVar22.Value="AB"; - RoundTripSparseSimple.Expected tempVar23=new RoundTripSparseSimple.Expected(); - tempVar23.Json="{'type': 'binary', 'storage': 'sparse'}"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar23.Value = new byte[] { 0x01, 0x02 }; - tempVar23.Value=new byte[]{0x01,0x02}; - RoundTripSparseSimple.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseSimple.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19,tempVar20,tempVar21,tempVar22,tempVar23}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseSimple.Expected expected:expectedSchemas) - { - String propSchema=String.format("{'path': 'a', 'type': %1$s",expected.Json}}); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar24=new Namespace(); - tempVar24.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar24); - Layout layout=resolver.Resolve(new SchemaId(-1)); - Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripSparseSimple.Closure tempVar25=new RoundTripSparseSimple.Closure(); - tempVar25.Col=col; - tempVar25.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, - tempRef_root,tempVar25.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaUDT() -public final void ParseSchemaUDT() - { - String namespaceJson=""+"\r\n"+ - " {'name': 'myNamespace', "+"\r\n"+ - " 'schemas': ["+"\r\n"+ - " {'name': 'udtA', 'id': 1, 'type': 'schema', 'options': { 'disallowUnschematized': false }, " - +"\r\n"+ - " 'properties': [ "+"\r\n"+ - " { 'path': 'a', 'type': { 'type': 'int8', 'storage': 'fixed' }}, "+"\r\n"+ - " { 'path': 'b', 'type': { 'type': 'utf8', 'storage': 'variable', 'length': 100 }} "+"\r\n"+ - " ]"+"\r\n"+ - " },"+"\r\n"+ - " {'name': 'udtB', 'id': 2, 'type': 'schema'},"+"\r\n"+ - " {'name': 'udtB', 'id': 3, 'type': 'schema'},"+"\r\n"+ - " {'name': 'udtB', 'id': 4, 'type': 'schema'},"+"\r\n"+ - " {'name': 'table', 'id': -1, 'type': 'schema', "+"\r\n"+ - " 'properties': ["+"\r\n"+ - " { 'path': 'u', 'type': { 'type': 'schema', 'name': 'udtA' }}, "+"\r\n"+ - " { 'path': 'v', 'type': { 'type': 'schema', 'name': 'udtB', 'id': 3 }}, "+"\r\n"+ - " ] "+"\r\n"+ - " }"+"\r\n"+ - " ]"+"\r\n"+ - " }"; - - Namespace n1=Namespace.Parse(namespaceJson); - - String tag=String.format("Json: %1$s",namespaceJson); - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - Schema s=tangible.ListHelper.find(n1.getSchemas(),x->x.Name.equals("table")); - assert s!=null; - assert"table"==s.getName(); - Layout layout=s.Compile(n1); - LayoutColumn udtACol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("u",out udtACol); - Assert.IsTrue(found,tag); - Assert.AreEqual(StorageKind.Sparse,udtACol.Storage,tag); - - Schema udtASchema=tangible.ListHelper.find(n1.getSchemas(),x->x.SchemaId==udtACol.TypeArgs.SchemaId); - assert udtASchema!=null; - assert"udtA"==udtASchema.getName(); - - // Verify that UDT versioning works through schema references. - LayoutColumn udtBCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=layout.TryFind("v",out udtBCol); - Assert.IsTrue(found,tag); - Assert.AreEqual(StorageKind.Sparse,udtBCol.Storage,tag); - Schema udtBSchema=tangible.ListHelper.find(n1.getSchemas(),x->x.SchemaId==udtBCol.TypeArgs.SchemaId); - assert udtBSchema!=null; - assert"udtB"==udtBSchema.getName(); - assert new SchemaId(3)==udtBSchema.getSchemaId().clone(); - - LayoutResolver resolver=new LayoutResolverNamespace(n1); - Layout udtLayout=resolver.Resolve(udtASchema.getSchemaId().clone()); - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - // Verify the udt doesn't yet exist. - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - RowCursor scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row,out scope).Find(tempRef_row2,udtACol.Path); - row=tempRef_row2.argValue; - row=tempRef_row.argValue; - tangible.RefObjecttempRef_row3=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope=new tangible.RefObject(scope); - tangible.OutObjecttempOut__=new tangible.OutObject(); - Result r=LayoutType.UDT.ReadScope(tempRef_row3,tempRef_scope,tempOut__); - _=tempOut__.argValue; - scope=tempRef_scope.argValue; - row=tempRef_row3.argValue; - ResultAssert.NotFound(r,tag); - tangible.RefObjecttempRef_row4=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope2=new tangible.RefObject(scope); - RowCursor udtScope1; - tangible.OutObjecttempOut_udtScope1= - new tangible.OutObject(); - r=LayoutType.UDT.WriteScope(tempRef_row4,tempRef_scope2,udtACol.TypeArgs,tempOut_udtScope1); - udtScope1=tempOut_udtScope1.argValue; - scope=tempRef_scope2.argValue; - row=tempRef_row4.argValue; - ResultAssert.IsSuccess(r,tag); - tangible.RefObjecttempRef_row5=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope3=new tangible.RefObject(scope); - RowCursor udtScope2; - tangible.OutObjecttempOut_udtScope2= - new tangible.OutObject(); - r=LayoutType.UDT.ReadScope(tempRef_row5,tempRef_scope3,tempOut_udtScope2); - udtScope2=tempOut_udtScope2.argValue; - scope=tempRef_scope3.argValue; - row=tempRef_row5.argValue; - ResultAssert.IsSuccess(r,tag); - Assert.AreSame(udtLayout,udtScope2.Layout,tag); - Assert.AreEqual(udtScope1.ScopeType,udtScope2.ScopeType,tag); - Assert.AreEqual(udtScope1.start,udtScope2.start,tag); - Assert.AreEqual(udtScope1.Immutable,udtScope2.Immutable,tag); - - // TODO: C# TO JAVA CONVERTER: There is no equivalent to implicit typing in Java unless the Java 10 inferred - // typing option is selected: - var expectedSchemas=new[]{new{Storage=StorageKind.Fixed,Path="a",FixedExpected=new RoundTripFixed.Expected(); - FixedExpected.Json="{ 'type': 'int8', 'storage': 'fixed' }"; - FixedExpected.Value=(byte)42; - - // TODO: C# TO JAVA CONVERTER: There is no equivalent to implicit typing in Java unless the Java 10 inferred - // typing option is selected: - for(var expected:expectedSchemas) - { - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=udtLayout.TryFind(expected.Path,out col); - Assert.IsTrue(found,"Path: {0}",expected.Path); - StorageKind storage=expected.Storage; - switch(storage) - { - case Fixed: - RoundTripFixed.Closure tempVar=new RoundTripFixed.Closure(); - tempVar.Col=col; - tempVar.Expected=expected.FixedExpected; - tangible.RefObjecttempRef_row6=new tangible.RefObject(row); - tangible.RefObjecttempRef_udtScope1= - new tangible.RefObject(udtScope1); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row6,tempRef_udtScope1, - tempVar.clone()); - udtScope1=tempRef_udtScope1.argValue; - row=tempRef_row6.argValue; - break; - case Variable: - RoundTripVariable.Closure tempVar2=new RoundTripVariable.Closure(); - tempVar2.Col=col; - tempVar2.Layout=layout; - tempVar2.Expected=expected.VariableExpected; - tangible.RefObjecttempRef_row7=new tangible.RefObject(row); - tangible.RefObjecttempRef_udtScope12= - new tangible.RefObject(udtScope1); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row7, - tempRef_udtScope12,tempVar2.clone()); - udtScope1=tempRef_udtScope12.argValue; - row=tempRef_row7.argValue; - break; - } - } - - tangible.RefObjecttempRef_row8=new tangible.RefObject(row); - tangible.RefObjecttempRef_row9=new tangible.RefObject(row); - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row8).AsReadOnly(out roRoot).Find(tempRef_row9,udtACol.Path); - row=tempRef_row9.argValue; - row=tempRef_row8.argValue; - tangible.RefObjecttempRef_row10=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot - // be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(udtACol.TypeAs().DeleteScope(tempRef_row10,ref roRoot)); - row=tempRef_row10.argValue; - tangible.RefObjecttempRef_row11=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot - // be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(udtACol.TypeAs().WriteScope(tempRef_row11,ref roRoot, - udtACol.TypeArgs,out udtScope2)); - row=tempRef_row11.argValue; - - // Overwrite the whole scope. - tangible.RefObjecttempRef_row12=new tangible.RefObject(row); - tangible.RefObjecttempRef_row13=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row12,out scope).Find(tempRef_row13,udtACol.Path); - row=tempRef_row13.argValue; - row=tempRef_row12.argValue; - tangible.RefObjecttempRef_row14=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope4=new tangible.RefObject(scope); - r=LayoutType.Null.WriteSparse(tempRef_row14,tempRef_scope4,NullValue.Default); - scope=tempRef_scope4.argValue; - row=tempRef_row14.argValue; - ResultAssert.IsSuccess(r,tag); - tangible.RefObjecttempRef_row15=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope5=new tangible.RefObject(scope); - RowCursor _; - tangible.OutObjecttempOut__2=new tangible.OutObject(); - r=LayoutType.UDT.ReadScope(tempRef_row15,tempRef_scope5,tempOut__2); - _=tempOut__2.argValue; - scope=tempRef_scope5.argValue; - row=tempRef_row15.argValue; - ResultAssert.TypeMismatch(r,tag); - tangible.RefObjecttempRef_row16=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope6=new tangible.RefObject(scope); - r=LayoutType.UDT.DeleteScope(tempRef_row16,tempRef_scope6); - scope=tempRef_scope6.argValue; - row=tempRef_row16.argValue; - ResultAssert.TypeMismatch(r,tag); - - // Overwrite it again, then delete it. - tangible.RefObjecttempRef_row17=new tangible.RefObject(row); - tangible.RefObjecttempRef_row18=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row17,out scope).Find(tempRef_row18,udtACol.Path); - row=tempRef_row18.argValue; - row=tempRef_row17.argValue; - tangible.RefObjecttempRef_row19=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope7=new tangible.RefObject(scope); - RowCursor _; - tangible.OutObjecttempOut__3=new tangible.OutObject(); - r=LayoutType.UDT.WriteScope(tempRef_row19,tempRef_scope7,udtACol.TypeArgs,tempOut__3); - _=tempOut__3.argValue; - scope=tempRef_scope7.argValue; - row=tempRef_row19.argValue; - ResultAssert.IsSuccess(r,tag); - tangible.RefObjecttempRef_row20=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope8=new tangible.RefObject(scope); - r=LayoutType.UDT.DeleteScope(tempRef_row20,tempRef_scope8); - scope=tempRef_scope8.argValue; - row=tempRef_row20.argValue; - ResultAssert.IsSuccess(r,tag); - tangible.RefObjecttempRef_row21=new tangible.RefObject(row); - tangible.RefObjecttempRef_row22=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row21,out scope).Find(tempRef_row22,udtACol.Path); - row=tempRef_row22.argValue; - row=tempRef_row21.argValue; - tangible.RefObjecttempRef_row23=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope9=new tangible.RefObject(scope); - RowCursor _; - tangible.OutObjecttempOut__4=new tangible.OutObject(); - r=LayoutType.UDT.ReadScope(tempRef_row23,tempRef_scope9,tempOut__4); - _=tempOut__4.argValue; - scope=tempRef_scope9.argValue; - row=tempRef_row23.argValue; - ResultAssert.NotFound(r,tag); - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObject() -public final void ParseSchemaSparseObject() - { - // Test all fixed column types. - RoundTripSparseObject.Expected tempVar=new RoundTripSparseObject.Expected(); - tempVar.Json="{'path': 'b', 'type': {'type': 'int8'}}"; - tempVar.Value=(byte)42; - RoundTripSparseObject.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObject.Expected[]{tempVar}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseObject.Expected expected:expectedSchemas) - { - String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", - expected.Json); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - objectColumnSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar2=new Namespace(); - tempVar2.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar2); - Layout layout=resolver.Resolve(new SchemaId(-1)); - Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); - LayoutColumn objCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out objCol); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=layout.TryFind("a.b",out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripSparseObject.Closure tempVar3=new RoundTripSparseObject.Closure(); - tempVar3.ObjCol=objCol; - tempVar3.Col=col; - tempVar3.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, - tempRef_root,tempVar3.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObjectMulti() -public final void ParseSchemaSparseObjectMulti() - { - // Test sparse object columns with various kinds of sparse column fields. - RoundTripSparseObjectMulti.Expected tempVar=new RoundTripSparseObjectMulti.Expected(); - tempVar.Json="{'path': 'b', 'type': {'type': 'int8'}}"; - RoundTripSparseObjectMulti.Property tempVar2=new RoundTripSparseObjectMulti.Property(); - tempVar2.setPath("a.b"); - tempVar2.Value=(byte)42; - tempVar.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar2}; - RoundTripSparseObjectMulti.Expected tempVar3=new RoundTripSparseObjectMulti.Expected(); - tempVar3.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'utf8'}}"; - RoundTripSparseObjectMulti.Property tempVar4=new RoundTripSparseObjectMulti.Property(); - tempVar4.setPath("a.b"); - tempVar4.Value=(byte)42; - RoundTripSparseObjectMulti.Property tempVar5=new RoundTripSparseObjectMulti.Property(); - tempVar5.setPath("a.c"); - tempVar5.Value="abc"; - tempVar3.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar4,tempVar5}; - RoundTripSparseObjectMulti.Expected tempVar6=new RoundTripSparseObjectMulti.Expected(); - tempVar6.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'bool'}}, {'path': 'd', " + - "'type': {'type': 'binary'}}, {'path': 'e', 'type': {'type': 'null'}}"; - RoundTripSparseObjectMulti.Property tempVar7=new RoundTripSparseObjectMulti.Property(); - tempVar7.setPath("a.b"); - tempVar7.Value=(byte)42; - RoundTripSparseObjectMulti.Property tempVar8=new RoundTripSparseObjectMulti.Property(); - tempVar8.setPath("a.c"); - tempVar8.Value=true; - RoundTripSparseObjectMulti.Property tempVar9=new RoundTripSparseObjectMulti.Property(); - tempVar9.setPath("a.d"); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar9.Value = new byte[] { 0x01, 0x02, 0x03 }; - tempVar9.Value=new byte[]{0x01,0x02,0x03}; - RoundTripSparseObjectMulti.Property tempVar10=new RoundTripSparseObjectMulti.Property(); - tempVar10.setPath("a.e"); - tempVar10.Value=NullValue.Default; - tempVar6.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar7,tempVar8,tempVar9,tempVar10}; - RoundTripSparseObjectMulti.Expected tempVar11=new RoundTripSparseObjectMulti.Expected(); - tempVar11.Json="{'path': 'b', 'type': {'type': 'object'}}"; - RoundTripSparseObjectMulti.Property tempVar12=new RoundTripSparseObjectMulti.Property(); - tempVar12.setPath("a.b"); - tempVar11.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar12}; - RoundTripSparseObjectMulti.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Expected[]{tempVar,tempVar3,tempVar6,tempVar11}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseObjectMulti.Expected expected:expectedSchemas) - { - String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", - expected.Json); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - objectColumnSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar13=new Namespace(); - tempVar13.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar13); - Layout layout=resolver.Resolve(new SchemaId(-1)); - Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); - LayoutColumn objCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out objCol); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - // Verify the object doesn't exist. - LayoutObject objT=objCol.Type instanceof LayoutObject?(LayoutObject)objCol.Type:null; - assert objT!=null; - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.Create(tempRef_row,out field).Find(tempRef_row2,objCol.Path); - row=tempRef_row2.argValue; - row=tempRef_row.argValue; - tangible.RefObjecttempRef_row3=new tangible.RefObject(row); - tangible.RefObjecttempRef_field=new tangible.RefObject(field); - RowCursor scope; - tangible.OutObjecttempOut_scope=new tangible.OutObject(); - Result r=objT.ReadScope(tempRef_row3,tempRef_field,tempOut_scope); - scope=tempOut_scope.argValue; - field=tempRef_field.argValue; - row=tempRef_row3.argValue; - ResultAssert.NotFound(r,"Json: {0}",expected.Json); - - // Write the object and the nested column. - tangible.RefObjecttempRef_row4=new tangible.RefObject(row); - tangible.RefObjecttempRef_field2=new tangible.RefObject(field); - tangible.OutObjecttempOut_scope2=new tangible.OutObject(); - r=objT.WriteScope(tempRef_row4,tempRef_field2,objCol.TypeArgs,tempOut_scope2); - scope=tempOut_scope2.argValue; - field=tempRef_field2.argValue; - row=tempRef_row4.argValue; - ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); - - for(java.lang.Iterablepermutation:expected.Props.Permute()) - { - for(RoundTripSparseObjectMulti.Property prop:permutation) - { - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=layout.TryFind(prop.Path,out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); - - RoundTripSparseObjectMulti.Closure tempVar14=new RoundTripSparseObjectMulti.Closure(); - tempVar14.Col=col; - tempVar14.Prop=prop.clone(); - tempVar14.Expected=expected.clone(); - tangible.RefObjecttempRef_row5=new tangible.RefObject(row); - tangible.RefObjecttempRef_scope=new tangible.RefObject(scope); - this.LayoutCodeSwitch(col.Type.LayoutCode, - tempRef_row5,tempRef_scope,tempVar14.clone()); - scope=tempRef_scope.argValue; - row=tempRef_row5.argValue; - } - } - - // Write something after the scope. - UtfAnyString otherColumnPath="not-"+objCol.Path; - tangible.RefObjecttempRef_row6=new tangible.RefObject(row); - RowCursor otherColumn; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - field.Clone(out otherColumn).Find(tempRef_row6,otherColumnPath); - row=tempRef_row6.argValue; - tangible.RefObjecttempRef_row7=new tangible.RefObject(row); - tangible.RefObjecttempRef_otherColumn= - new tangible.RefObject(otherColumn); - r=LayoutType.Boolean.WriteSparse(tempRef_row7,tempRef_otherColumn,true); - otherColumn=tempRef_otherColumn.argValue; - row=tempRef_row7.argValue; - ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); - - // Overwrite the whole scope. - tangible.RefObjecttempRef_row8=new tangible.RefObject(row); - tangible.RefObjecttempRef_field3=new tangible.RefObject(field); - r=LayoutType.Null.WriteSparse(tempRef_row8,tempRef_field3,NullValue.Default); - field=tempRef_field3.argValue; - row=tempRef_row8.argValue; - ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); - tangible.RefObjecttempRef_row9=new tangible.RefObject(row); - tangible.RefObjecttempRef_field4=new tangible.RefObject(field); - RowCursor _; - tangible.OutObjecttempOut__=new tangible.OutObject(); - r=objT.ReadScope(tempRef_row9,tempRef_field4,tempOut__); - _=tempOut__.argValue; - field=tempRef_field4.argValue; - row=tempRef_row9.argValue; - ResultAssert.TypeMismatch(r,"Json: {0}",expected.Json); - - // Read the thing after the scope and verify it is still there. - tangible.RefObjecttempRef_row10=new tangible.RefObject(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - field.Clone(out otherColumn).Find(tempRef_row10,otherColumnPath); - row=tempRef_row10.argValue; - tangible.RefObjecttempRef_row11=new tangible.RefObject(row); - tangible.RefObjecttempRef_otherColumn2= - new tangible.RefObject(otherColumn); - boolean notScope; - tangible.OutObject tempOut_notScope=new tangible.OutObject(); - r=LayoutType.Boolean.ReadSparse(tempRef_row11,tempRef_otherColumn2,tempOut_notScope); - notScope=tempOut_notScope.argValue; - otherColumn=tempRef_otherColumn2.argValue; - row=tempRef_row11.argValue; - ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); - assert notScope; - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObjectNested() -public final void ParseSchemaSparseObjectNested() - { - // Test nested sparse object columns with various kinds of sparse column fields. - RoundTripSparseObjectNested.Expected tempVar=new RoundTripSparseObjectNested.Expected(); - tempVar.Json="{'path': 'c', 'type': {'type': 'int8'}}"; - RoundTripSparseObjectNested.Property tempVar2=new RoundTripSparseObjectNested.Property(); - tempVar2.setPath("a.b.c"); - tempVar2.Value=(byte)42; - tempVar.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar2}; - RoundTripSparseObjectNested.Expected tempVar3=new RoundTripSparseObjectNested.Expected(); - tempVar3.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'utf8'}}"; - RoundTripSparseObjectNested.Property tempVar4=new RoundTripSparseObjectNested.Property(); - tempVar4.setPath("a.b.b"); - tempVar4.Value=(byte)42; - RoundTripSparseObjectNested.Property tempVar5=new RoundTripSparseObjectNested.Property(); - tempVar5.setPath("a.b.c"); - tempVar5.Value="abc"; - tempVar3.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar4,tempVar5}; - RoundTripSparseObjectNested.Expected tempVar6=new RoundTripSparseObjectNested.Expected(); - tempVar6.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'bool'}}, {'path': 'd', " + - "'type': {'type': 'binary'}}, {'path': 'e', 'type': {'type': 'null'}}"; - RoundTripSparseObjectNested.Property tempVar7=new RoundTripSparseObjectNested.Property(); - tempVar7.setPath("a.b.b"); - tempVar7.Value=(byte)42; - RoundTripSparseObjectNested.Property tempVar8=new RoundTripSparseObjectNested.Property(); - tempVar8.setPath("a.b.c"); - tempVar8.Value=true; - RoundTripSparseObjectNested.Property tempVar9=new RoundTripSparseObjectNested.Property(); - tempVar9.setPath("a.b.d"); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar9.Value = new byte[] { 0x01, 0x02, 0x03 }; - tempVar9.Value=new byte[]{0x01,0x02,0x03}; - RoundTripSparseObjectNested.Property tempVar10=new RoundTripSparseObjectNested.Property(); - tempVar10.setPath("a.b.e"); - tempVar10.Value=NullValue.Default; - tempVar6.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar7,tempVar8,tempVar9,tempVar10}; - RoundTripSparseObjectNested.Expected tempVar11=new RoundTripSparseObjectNested.Expected(); - tempVar11.Json="{'path': 'b', 'type': {'type': 'object'}}"; - RoundTripSparseObjectNested.Property tempVar12=new RoundTripSparseObjectNested.Property(); - tempVar12.setPath("a.b.b"); - tempVar11.Props= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar12}; - RoundTripSparseObjectNested.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Expected[]{tempVar,tempVar3,tempVar6,tempVar11}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseObjectNested.Expected expected:expectedSchemas) - { - String nestedColumnSchema=String.format("{'path': 'b', 'type': {'type': 'object', 'properties': [%1$s] } }", - expected.Json); - String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", - nestedColumnSchema); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - objectColumnSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar13=new Namespace(); - tempVar13.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar13); - Layout layout=resolver.Resolve(new SchemaId(-1)); - LayoutColumn objCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out objCol); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); - LayoutColumn objCol2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=layout.TryFind("a.b",out objCol2); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,objCol2.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - // Write the object. - LayoutObject objT=objCol.Type instanceof LayoutObject?(LayoutObject)objCol.Type:null; - assert objT!=null; - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out field).Find(tempRef_row2,objCol.Path); - row=tempRef_row2.argValue; - tangible.RefObjecttempRef_row3=new tangible.RefObject(row); - tangible.RefObjecttempRef_field=new tangible.RefObject(field); - RowCursor _; - tangible.OutObjecttempOut__=new tangible.OutObject(); - Result r=objT.WriteScope(tempRef_row3,tempRef_field,objCol.TypeArgs,tempOut__); - _=tempOut__.argValue; - field=tempRef_field.argValue; - row=tempRef_row3.argValue; - ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); - - for(java.lang.Iterablepermutation:expected.Props.Permute()) - { - for(RoundTripSparseObjectNested.Property prop:permutation) - { - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - found=layout.TryFind(prop.Path,out col); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); - - RoundTripSparseObjectNested.Closure tempVar14=new RoundTripSparseObjectNested.Closure(); - tempVar14.Col=col; - tempVar14.Prop=prop.clone(); - tempVar14.Expected=expected.clone(); - tangible.RefObjecttempRef_row4=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(col.Type.LayoutCode, - tempRef_row4,tempRef_root,tempVar14.clone()); - root=tempRef_root.argValue; - row=tempRef_row4.argValue; - } - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseArray() -public final void ParseSchemaSparseArray() - { - // Test all fixed column types. - RoundTripSparseArray.Expected tempVar=new RoundTripSparseArray.Expected(); - tempVar.Json="array[null]"; - tempVar.Type=LayoutType.Null; - tempVar.Value=new ArrayList(Arrays.asList(NullValue.Default,NullValue.Default,NullValue.Default)); - RoundTripSparseArray.Expected tempVar2=new RoundTripSparseArray.Expected(); - tempVar2.Json="array[bool]"; - tempVar2.Type=LayoutType.Boolean; - tempVar2.Value=new ArrayList(Arrays.asList(true,false,true)); - RoundTripSparseArray.Expected tempVar3=new RoundTripSparseArray.Expected(); - tempVar3.Json="array[int8]"; - tempVar3.Type=LayoutType.Int8; - tempVar3.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); - RoundTripSparseArray.Expected tempVar4=new RoundTripSparseArray.Expected(); - tempVar4.Json="array[int16]"; - tempVar4.Type=LayoutType.Int16; - tempVar4.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); - RoundTripSparseArray.Expected tempVar5=new RoundTripSparseArray.Expected(); - tempVar5.Json="array[int32]"; - tempVar5.Type=LayoutType.Int32; - tempVar5.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseArray.Expected tempVar6=new RoundTripSparseArray.Expected(); - tempVar6.Json="array[int64]"; - tempVar6.Type=LayoutType.Int64; - tempVar6.Value=new ArrayList(Arrays.asList(42L,43L,44L)); - RoundTripSparseArray.Expected tempVar7=new RoundTripSparseArray.Expected(); - tempVar7.Json="array[uint8]"; - tempVar7.Type=LayoutType.UInt8; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar7.Value = new List { (byte)42, (byte)43, (byte)44 }; - tempVar7.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); - RoundTripSparseArray.Expected tempVar8=new RoundTripSparseArray.Expected(); - tempVar8.Json="array[uint16]"; - tempVar8.Type=LayoutType.UInt16; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar8.Value = new List { (ushort)42, (ushort)43, (ushort)44 }; - tempVar8.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); - RoundTripSparseArray.Expected tempVar9=new RoundTripSparseArray.Expected(); - tempVar9.Json="array[uint32]"; - tempVar9.Type=LayoutType.UInt32; - tempVar9.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseArray.Expected tempVar10=new RoundTripSparseArray.Expected(); - tempVar10.Json="array[uint64]"; - tempVar10.Type=LayoutType.UInt64; - tempVar10.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseArray.Expected tempVar11=new RoundTripSparseArray.Expected(); - tempVar11.Json="array[varint]"; - tempVar11.Type=LayoutType.VarInt; - tempVar11.Value=new ArrayList(Arrays.asList(42L,43L,44L)); - RoundTripSparseArray.Expected tempVar12=new RoundTripSparseArray.Expected(); - tempVar12.Json="array[varuint]"; - tempVar12.Type=LayoutType.VarUInt; - tempVar12.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseArray.Expected tempVar13=new RoundTripSparseArray.Expected(); - tempVar13.Json="array[float32]"; - tempVar13.Type=LayoutType.Float32; - tempVar13.Value=new ArrayList(Arrays.asList(4.2F,4.3F,4.4F)); - RoundTripSparseArray.Expected tempVar14=new RoundTripSparseArray.Expected(); - tempVar14.Json="array[float64]"; - tempVar14.Type=LayoutType.Float64; - tempVar14.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); - RoundTripSparseArray.Expected tempVar15=new RoundTripSparseArray.Expected(); - tempVar15.Json="array[float128]"; - tempVar15.Type=LayoutType.Float128; - tempVar15.Value=new ArrayList(Arrays.asList(new Float128(0,42),new Float128(0,43),new Float128(0,44))); - RoundTripSparseArray.Expected tempVar16=new RoundTripSparseArray.Expected(); - tempVar16.Json="array[decimal]"; - tempVar16.Type=LayoutType.Decimal; - tempVar16.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); - RoundTripSparseArray.Expected tempVar17=new RoundTripSparseArray.Expected(); - tempVar17.Json="array[datetime]"; - tempVar17.Type=LayoutType.DateTime; - tempVar17.Value=new ArrayList(Arrays.asList(LocalDateTime.UtcNow,LocalDateTime.UtcNow.AddTicks(1), - LocalDateTime.UtcNow.AddTicks(2))); - RoundTripSparseArray.Expected tempVar18=new RoundTripSparseArray.Expected(); - tempVar18.Json="array[unixdatetime]"; - tempVar18.Type=LayoutType.UnixDateTime; - tempVar18.Value=new ArrayList(Arrays.asList(new UnixDateTime(1),new UnixDateTime(2),new UnixDateTime(3))); - RoundTripSparseArray.Expected tempVar19=new RoundTripSparseArray.Expected(); - tempVar19.Json="array[guid]"; - tempVar19.Type=LayoutType.Guid; - tempVar19.Value=new ArrayList(Arrays.asList(UUID.NewGuid(),UUID.NewGuid(),UUID.NewGuid())); - RoundTripSparseArray.Expected tempVar20=new RoundTripSparseArray.Expected(); - tempVar20.Json="array[mongodbobjectid]"; - tempVar20.Type=LayoutType.MongoDbObjectId; - tempVar20.Value=new ArrayList(Arrays.asList(new MongoDbObjectId(0,1),new MongoDbObjectId(0,2), - new MongoDbObjectId(0,3))); - RoundTripSparseArray.Expected tempVar21=new RoundTripSparseArray.Expected(); - tempVar21.Json="array[utf8]"; - tempVar21.Type=LayoutType.Utf8; - tempVar21.Value=new ArrayList(Arrays.asList("abc","def","xyz")); - RoundTripSparseArray.Expected tempVar22=new RoundTripSparseArray.Expected(); - tempVar22.Json="array[binary]"; - tempVar22.Type=LayoutType.Binary; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar22.Value = new List { new byte[] { 0x01, 0x02 }, new byte[] { 0x03, 0x04 }, new - // byte[] { 0x05, 0x06 } }; - tempVar22.Value=new ArrayList(Arrays.asList(new Byte[]{0x01,0x02},new byte[]{0x03,0x04},new byte[]{0x05, - 0x06})); - RoundTripSparseArray.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseArray.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19,tempVar20,tempVar21,tempVar22}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseArray.Expected expected:expectedSchemas) - { - for(java.lang.Class arrT:new java.lang.Class[]{LayoutTypedArray.class,LayoutArray.class}) - { - String arrayColumnSchema="{'path': 'a', 'type': {'type': 'array', 'items': {'type': 'any'}} }"; - if(arrT==LayoutTypedArray.class) - { - arrayColumnSchema=String.format("{'path': 'a', 'type': {'type': 'array',"+"\r\n"+ - " 'items': {'type': '%1$s', 'nullable': " + - "false }} }",expected.Type.getName()); - } - - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - arrayColumnSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar23=new Namespace(); - tempVar23.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar23); - Layout layout=resolver.Resolve(new SchemaId(-1)); - LayoutColumn arrCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out arrCol); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,arrCol.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripSparseArray.Closure tempVar24=new RoundTripSparseArray.Closure(); - tempVar24.ArrCol=arrCol; - tempVar24.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(expected.Type.LayoutCode,tempRef_row2, - tempRef_root,tempVar24.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1139", -// Justification = "Need to control the binary ordering.")] public void ParseSchemaSparseSet() -public final void ParseSchemaSparseSet() - { - // Test all fixed column types. - RoundTripSparseSet.Expected tempVar=new RoundTripSparseSet.Expected(); - tempVar.Json="set[null]"; - tempVar.Type=LayoutType.Null; - tempVar.Value=new ArrayList(Arrays.asList(NullValue.Default)); - RoundTripSparseSet.Expected tempVar2=new RoundTripSparseSet.Expected(); - tempVar2.Json="set[bool]"; - tempVar2.Type=LayoutType.Boolean; - tempVar2.Value=new ArrayList(Arrays.asList(false,true)); - RoundTripSparseSet.Expected tempVar3=new RoundTripSparseSet.Expected(); - tempVar3.Json="set[int8]"; - tempVar3.Type=LayoutType.Int8; - tempVar3.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); - RoundTripSparseSet.Expected tempVar4=new RoundTripSparseSet.Expected(); - tempVar4.Json="set[int16]"; - tempVar4.Type=LayoutType.Int16; - tempVar4.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); - RoundTripSparseSet.Expected tempVar5=new RoundTripSparseSet.Expected(); - tempVar5.Json="set[int32]"; - tempVar5.Type=LayoutType.Int32; - tempVar5.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseSet.Expected tempVar6=new RoundTripSparseSet.Expected(); - tempVar6.Json="set[int64]"; - tempVar6.Type=LayoutType.Int64; - tempVar6.Value=new ArrayList(Arrays.asList(42L,43L,44L)); - RoundTripSparseSet.Expected tempVar7=new RoundTripSparseSet.Expected(); - tempVar7.Json="set[uint8]"; - tempVar7.Type=LayoutType.UInt8; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar7.Value = new List { (byte)42, (byte)43, (byte)44 }; - tempVar7.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); - RoundTripSparseSet.Expected tempVar8=new RoundTripSparseSet.Expected(); - tempVar8.Json="set[uint16]"; - tempVar8.Type=LayoutType.UInt16; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar8.Value = new List { (ushort)42, (ushort)43, (ushort)44 }; - tempVar8.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); - RoundTripSparseSet.Expected tempVar9=new RoundTripSparseSet.Expected(); - tempVar9.Json="set[uint32]"; - tempVar9.Type=LayoutType.UInt32; - tempVar9.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseSet.Expected tempVar10=new RoundTripSparseSet.Expected(); - tempVar10.Json="set[uint64]"; - tempVar10.Type=LayoutType.UInt64; - tempVar10.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseSet.Expected tempVar11=new RoundTripSparseSet.Expected(); - tempVar11.Json="set[varint]"; - tempVar11.Type=LayoutType.VarInt; - tempVar11.Value=new ArrayList(Arrays.asList(42L,43L,44L)); - RoundTripSparseSet.Expected tempVar12=new RoundTripSparseSet.Expected(); - tempVar12.Json="set[varuint]"; - tempVar12.Type=LayoutType.VarUInt; - tempVar12.Value=new ArrayList(Arrays.asList(42,43,44)); - RoundTripSparseSet.Expected tempVar13=new RoundTripSparseSet.Expected(); - tempVar13.Json="set[float32]"; - tempVar13.Type=LayoutType.Float32; - tempVar13.Value=new ArrayList(Arrays.asList(4.2F,4.3F,4.4F)); - RoundTripSparseSet.Expected tempVar14=new RoundTripSparseSet.Expected(); - tempVar14.Json="set[float64]"; - tempVar14.Type=LayoutType.Float64; - tempVar14.Value=new ArrayList(Arrays.asList((double)0xAAAAAAAAAAAAAAAA,(double)0xBBBBBBBBBBBBBBBB, - (double)0xCCCCCCCCCCCCCCCC)); - RoundTripSparseSet.Expected tempVar15=new RoundTripSparseSet.Expected(); - tempVar15.Json="set[decimal]"; - tempVar15.Type=LayoutType.Decimal; - tempVar15.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); - RoundTripSparseSet.Expected tempVar16=new RoundTripSparseSet.Expected(); - tempVar16.Json="set[datetime]"; - tempVar16.Type=LayoutType.DateTime; - tempVar16.Value=new ArrayList(Arrays.asList(LocalDateTime.of(1,DateTimeKind.Unspecified), - LocalDateTime.of(2,DateTimeKind.Unspecified),LocalDateTime.of(3,DateTimeKind.Unspecified))); - RoundTripSparseSet.Expected tempVar17=new RoundTripSparseSet.Expected(); - tempVar17.Json="set[guid]"; - tempVar17.Type=LayoutType.Guid; - tempVar17.Value=new ArrayList(Arrays.asList(UUID.fromString("AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"), - UUID.fromString("BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB"),UUID.fromString("CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC"))); - RoundTripSparseSet.Expected tempVar18=new RoundTripSparseSet.Expected(); - tempVar18.Json="set[utf8]"; - tempVar18.Type=LayoutType.Utf8; - tempVar18.Value=new ArrayList(Arrays.asList("abc","def","xyz")); - RoundTripSparseSet.Expected tempVar19=new RoundTripSparseSet.Expected(); - tempVar19.Json="set[binary]"; - tempVar19.Type=LayoutType.Binary; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar19.Value = new List { new byte[] { 0x01, 0x02 }, new byte[] { 0x03, 0x04 }, new - // byte[] { 0x05, 0x06 } }; - tempVar19.Value=new ArrayList(Arrays.asList(new Byte[]{0x01,0x02},new byte[]{0x03,0x04},new byte[]{0x05, - 0x06})); - RoundTripSparseSet.Expected[]expectedSchemas= - new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseSet.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19}; - - RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); - for(RoundTripSparseSet.Expected expected:expectedSchemas) - { - for(java.lang.Class setT:new java.lang.Class[]{LayoutTypedSet.class}) - { - String setColumnSchema="{'path': 'a', 'type': {'type': 'set', 'items': {'type': 'any'}} }"; - if(setT==LayoutTypedSet.class) - { - setColumnSchema=String.format("{'path': 'a', 'type': {'type': 'set', "+"\r\n"+ - " 'items': {'type': '%1$s', 'nullable': " + - "false }} }",expected.Type.getName()); - } - - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - setColumnSchema); - Schema s=Schema.Parse(tableSchema); - Namespace tempVar20=new Namespace(); - tempVar20.setSchemas(new ArrayList(Arrays.asList(s))); - LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar20); - Layout layout=resolver.Resolve(new SchemaId(-1)); - LayoutColumn setCol; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found=layout.TryFind("a",out setCol); - Assert.IsTrue(found,"Json: {0}",expected.Json); - Assert.AreEqual(StorageKind.Sparse,setCol.Storage,"Json: {0}",expected.Json); - - // Try writing a row using the layout. - row.Reset(); - row.InitLayout(HybridRowVersion.V1,layout,resolver); - - HybridRowHeader header=row.getHeader().clone(); - assert HybridRowVersion.V1==header.getVersion(); - assert layout.getSchemaId().clone()==header.getSchemaId().clone(); - - tangible.RefObjecttempRef_row=new tangible.RefObject(row); - RowCursor root=RowCursor.Create(tempRef_row); - row=tempRef_row.argValue; - RoundTripSparseSet.Closure tempVar21=new RoundTripSparseSet.Closure(); - tempVar21.SetCol=setCol; - tempVar21.Expected=expected.clone(); - tangible.RefObjecttempRef_row2=new tangible.RefObject(row); - tangible.RefObjecttempRef_root=new tangible.RefObject(root); - this.LayoutCodeSwitch(expected.Type.LayoutCode,tempRef_row2, - tempRef_root,tempVar21.clone()); - root=tempRef_root.argValue; - row=tempRef_row2.argValue; - } - } - } - -/** - * Ensure that a parent scope exists in the row. - * - * @param row The row to create the desired scope. - * @param root The root scope. - * @param col The scope to create. - * @param tag A string to tag errors with. - * @return The enclosing scope. - */ -private static RowCursor EnsureScope(tangible.RefObject row,tangible.RefObject root, - LayoutColumn col,String tag) - { - if(col==null) - { - return root.argValue.clone(); - } - - RowCursor parentScope=LayoutCompilerUnitTests.EnsureScope(row,root,col.getParent(),tag); - - azure.data.cosmos.serialization.hybridrow.layouts.LayoutType tempVar=col.getType(); - LayoutObject pT=tempVar instanceof LayoutObject?(LayoutObject)tempVar:null; - assert pT!=null; - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot - // be converted using the 'Out' helper class unless the method is within the code being modified: - parentScope.Clone(out field).Find(row,col.getPath()); - tangible.RefObjecttempRef_field=new tangible.RefObject(field); - RowCursor scope; - tangible.OutObjecttempOut_scope=new tangible.OutObject(); - Result r=pT.ReadScope(row,tempRef_field,tempOut_scope); - scope=tempOut_scope.argValue; - field=tempRef_field.argValue; - if(r==Result.NotFound) - { - tangible.RefObjecttempRef_field2=new tangible.RefObject(field); - tangible.OutObjecttempOut_scope2=new tangible.OutObject(); - r=pT.WriteScope(row,tempRef_field2,col.getTypeArgs().clone(),tempOut_scope2); - scope=tempOut_scope2.argValue; - field=tempRef_field2.argValue; - } - - ResultAssert.IsSuccess(r,tag); - return scope; - } - -// TODO: C# TO JAVA CONVERTER: The C# 'new()' constraint has no equivalent in Java: -//ORIGINAL LINE: private void LayoutCodeSwitch(LayoutCode code, ref RowBuffer row, ref -// RowCursor scope, TClosure closure) where TDispatcher : TestActionDispatcher, new() -private, TClosure> void LayoutCodeSwitch(LayoutCode code, - tangible.RefObject row,tangible.RefObject scope,TClosure closure) - { - TDispatcher dispatcher=new TDispatcher(); - switch(code) - { - case Null: - dispatcher.Dispatch(row,scope,closure); - break; - case Boolean: - dispatcher.Dispatch(row,scope,closure); - break; - case Int8: - dispatcher.Dispatch(row,scope,closure); - break; - case Int16: - dispatcher.Dispatch(row,scope,closure); - break; - case Int32: - dispatcher.Dispatch(row,scope,closure); - break; - case Int64: - dispatcher.Dispatch(row,scope,closure); - break; - case UInt8: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case UInt16: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case UInt32: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case UInt64: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case VarInt: - dispatcher.Dispatch(row,scope,closure); - break; - case VarUInt: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case Float32: - dispatcher.Dispatch(row,scope,closure); - break; - case Float64: - dispatcher.Dispatch(row,scope,closure); - break; - case Float128: - dispatcher.Dispatch(row,scope,closure); - break; - case Decimal: - dispatcher.Dispatch(row,scope,closure); - break; - case DateTime: - dispatcher.Dispatch(row,scope,closure); - break; - case UnixDateTime: - dispatcher.Dispatch(row,scope,closure); - break; - case Guid: - dispatcher.Dispatch(row,scope,closure); - break; - case MongoDbObjectId: - dispatcher.Dispatch(row,scope,closure); - break; - case Utf8: - dispatcher.Dispatch(row,scope,closure); - break; - case Binary: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); - dispatcher.Dispatch(row,scope,closure); - break; - case ObjectScope: - dispatcher.DispatchObject(row,scope,closure); - break; -default: - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s",code)); - break; - } - } - -private final static class RoundTripFixed extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn col = closure.Col; - Expected expected = closure.Expected.clone(); - Result r; - TValue value; - - System.out.printf("%1$s" + "\r\n", expected.Json); - TLayout t = (TLayout)col.type(); - if (LayoutBit.opNotEquals(col.getNullBit().clone(), - LayoutBit.INVALID)) { - Out tempOut_value = new Out(); - r = t.ReadFixed(row, root, col, tempOut_value); - value = tempOut_value.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } else { - Out tempOut_value2 = new Out(); - r = t.ReadFixed(row, root, col, tempOut_value2); - value = tempOut_value2.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - boolean tempVar = expected.Default instanceof Array; - Array defaultArray = tempVar ? (Array)expected.Default : null; - if (tempVar) { - CollectionAssert.AreEqual(defaultArray, (Collection)value, "Json: {0}", expected.Json); - } else { - Assert.AreEqual(expected.Default, value, "Json: {0}", expected.Json); - } - } - - r = t.WriteFixed(row, root, col, (TValue)expected.Value); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Out tempOut_value3 = new Out(); - r = t.ReadFixed(row, root, col, tempOut_value3); - value = tempOut_value3.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - boolean tempVar2 = expected.Value instanceof Array; - Array array = tempVar2 ? (Array)expected.Value : null; - if (tempVar2) { - CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); - } else { - Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); - } - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(t.WriteFixed(row, ref roRoot, col, (TValue)expected.Value)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(t.DeleteFixed(row, ref roRoot, col)); - - if (LayoutBit.opNotEquals(col.getNullBit().clone(), - LayoutBit.INVALID)) { - ResultAssert.IsSuccess(t.DeleteFixed(row, root, col)); - } else { - ResultAssert.TypeMismatch(t.DeleteFixed(row, root, col)); - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Col = this.Col; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public Object Default; - public String Json; - public int Length; - public String TypeName; - public Object Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.TypeName = this.TypeName; - varCopy.Json = this.Json; - varCopy.Value = this.Value; - varCopy.Default = this.Default; - varCopy.Length = this.Length; - - return varCopy; - } - } -} - -private final static class RoundTripSparseArray extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn arrCol = closure.ArrCol; - LayoutType tempVar = arrCol.type(); - LayoutIndexedScope arrT = tempVar instanceof LayoutIndexedScope ? (LayoutIndexedScope)tempVar : null; - Expected expected = closure.Expected.clone(); - String tag = String.format("Json: %1$s, Array: %2$s", expected.Json, arrCol.type().getName()); - - System.out.println(tag); - Assert.IsNotNull(arrT, tag); - - TLayout t = (TLayout)expected.Type; - - // Verify the array doesn't yet exist. - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out field).Find(row, arrCol.path()); - Reference tempReference_field = - new Reference(field); - RowCursor scope; - Out tempOut_scope = - new Out(); - Result r = arrT.ReadScope(row, tempReference_field, tempOut_scope); - scope = tempOut_scope.get(); - field = tempReference_field.get(); - ResultAssert.NotFound(r, tag); - - // Write the array. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = arrT.WriteScope(row, ref field, arrCol.typeArgs().clone(), out scope); - ResultAssert.IsSuccess(r, tag); - - // Verify the nested field doesn't yet appear within the new scope. - assert !scope.MoveNext(row); - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref scope, out value); - ResultAssert.NotFound(r, tag); - - // Write the nested fields. - RowCursor elm; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope.Clone(out elm); - for (Object item : expected.Value) { - // Write the ith index. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.WriteSparse(row, ref elm, (TValue)item); - ResultAssert.IsSuccess(r, tag); - - // Move cursor to the ith+1 index. - assert !elm.MoveNext(row); - } - - // Read the array and the nested column, validate the nested column has the proper value. - Reference tempReference_field2 = - new Reference(field); - RowCursor scope2; - Out tempOut_scope2 = - new Out(); - r = arrT.ReadScope(row, tempReference_field2, tempOut_scope2); - scope2 = tempOut_scope2.get(); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, tag); - Assert.AreEqual(scope.ScopeType, scope2.ScopeType, tag); - Assert.AreEqual(scope.start(), scope2.start(), tag); - Assert.AreEqual(scope.Immutable, scope2.Immutable, tag); - - // Read the nested fields - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope2.Clone(out elm); - for (Object item : expected.Value) { - assert elm.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref elm, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar2 = item instanceof Array; - Array array = tempVar2 ? (Array)item : null; - if (tempVar2) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual((TValue)item, value, tag); - } - } - - // Delete an item. - int indexToDelete = 1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert scope2.Clone(out elm).MoveTo(row, indexToDelete); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.DeleteSparse(row, ref elm); - ResultAssert.IsSuccess(r, tag); - ArrayList remainingValues = new ArrayList(expected.Value); - remainingValues.remove(indexToDelete); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope2.Clone(out elm); - for (Object item : remainingValues) { - assert elm.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref elm, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar3 = item instanceof Array; - Array array = tempVar3 ? (Array)item : null; - if (tempVar3) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(item, value, tag); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert !scope2.Clone(out elm).MoveTo(row, remainingValues.size()); - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot).Find(row, arrCol.path()); - Reference tempReference_roRoot = - new Reference(roRoot); - ResultAssert.InsufficientPermissions(arrT.DeleteScope(row, tempReference_roRoot)); - roRoot = tempReference_roRoot.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(arrT.WriteScope(row, ref roRoot, arrCol.typeArgs().clone(), - out scope2)); - - // Overwrite the whole scope. - Reference tempReference_field3 = - new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field3, NullValue.DEFAULT); - field = tempReference_field3.get(); - ResultAssert.IsSuccess(r, tag); - Reference tempReference_field4 = - new Reference(field); - RowCursor _; - Out tempOut__ = - new Out(); - r = arrT.ReadScope(row, tempReference_field4, tempOut__); - _ = tempOut__.get(); - field = tempReference_field4.get(); - ResultAssert.TypeMismatch(r, tag); - Reference tempReference_field5 = - new Reference(field); - r = arrT.DeleteScope(row, tempReference_field5); - field = tempReference_field5.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - - // Overwrite it again, then delete it. - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = arrT.WriteScope(row, ref field, arrCol.typeArgs().clone(), out _, UpdateOptions.Update); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field6 = - new Reference(field); - r = arrT.DeleteScope(row, tempReference_field6); - field = tempReference_field6.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field7 = - new Reference(field); - RowCursor _; - Out tempOut__2 = - new Out(); - r = arrT.ReadScope(row, tempReference_field7, tempOut__2); - _ = tempOut__2.get(); - field = tempReference_field7.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn ArrCol; - public Expected Expected = new Expected(); - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.ArrCol = this.ArrCol; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public LayoutType Type; - public ArrayList Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Type = this.Type; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseObject extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn objCol = closure.ObjCol; - LayoutType tempVar = objCol.type(); - LayoutObject objT = tempVar instanceof LayoutObject ? (LayoutObject)tempVar : null; - LayoutColumn col = closure.Col; - Expected expected = closure.Expected.clone(); - - System.out.printf("%1$s" + "\r\n", col.type().getName()); - Assert.IsNotNull(objT, "Json: {0}", expected.Json); - Assert.AreEqual(objCol, col.parent(), "Json: {0}", expected.Json); - - TLayout t = (TLayout)col.type(); - - // Attempt to read the object and the nested column. - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out field).Find(row, objCol.path()); - Reference tempReference_field = - new Reference(field); - RowCursor scope; - Out tempOut_scope = - new Out(); - Result r = objT.ReadScope(row, tempReference_field, tempOut_scope); - scope = tempOut_scope.get(); - field = tempReference_field.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - - // Write the object and the nested column. - Reference tempReference_field2 = - new Reference(field); - Out tempOut_scope2 = - new Out(); - r = objT.WriteScope(row, tempReference_field2, objCol.typeArgs().clone(), tempOut_scope2); - scope = tempOut_scope2.get(); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - - // Verify the nested field doesn't yet appear within the new scope. - RowCursor nestedField; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope.Clone(out nestedField).Find(row, col.path()); - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref nestedField, out value); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - - // Write the nested field. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref nestedField, (TValue)expected.Value); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - - // Read the object and the nested column, validate the nested column has the proper value. - Reference tempReference_field3 = - new Reference(field); - RowCursor scope2; - Out tempOut_scope2 = - new Out(); - r = objT.ReadScope(row, tempReference_field3, tempOut_scope2); - scope2 = tempOut_scope2.get(); - field = tempReference_field3.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Assert.AreEqual(scope.ScopeType, scope2.ScopeType, "Json: {0}", expected.Json); - Assert.AreEqual(scope.start(), scope2.start(), "Json: {0}", expected.Json); - Assert.AreEqual(scope.Immutable, scope2.Immutable, "Json: {0}", expected.Json); - - // Read the nested field - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope2.Clone(out nestedField).Find(row, col.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref nestedField, out value); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - boolean tempVar2 = expected.Value instanceof Array; - Array array = tempVar2 ? (Array)expected.Value : null; - if (tempVar2) { - CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); - } else { - Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); - } - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot).Find(row, objCol.path()); - Reference tempReference_roRoot = - new Reference(roRoot); - ResultAssert.InsufficientPermissions(objT.DeleteScope(row, tempReference_roRoot)); - roRoot = tempReference_roRoot.get(); - Reference tempReference_roRoot2 = - new Reference(roRoot); - Out tempOut_scope22 = - new Out(); - ResultAssert.InsufficientPermissions(objT.WriteScope(row, tempReference_roRoot2, objCol.typeArgs().clone(), - tempOut_scope22)); - scope2 = tempOut_scope22.get(); - roRoot = tempReference_roRoot2.get(); - - // Overwrite the whole scope. - Reference tempReference_field4 = - new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field4, NullValue.DEFAULT); - field = tempReference_field4.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field5 = - new Reference(field); - RowCursor _; - Out tempOut__ = - new Out(); - r = objT.ReadScope(row, tempReference_field5, tempOut__); - _ = tempOut__.get(); - field = tempReference_field5.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - Reference tempReference_field6 = - new Reference(field); - r = objT.DeleteScope(row, tempReference_field6); - field = tempReference_field6.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - - // Overwrite it again, then delete it. - Reference tempReference_field7 = - new Reference(field); - RowCursor _; - Out tempOut__2 = - new Out(); - r = objT.WriteScope(row, tempReference_field7, objCol.typeArgs().clone(), tempOut__2, UpdateOptions.Update); - _ = tempOut__2.get(); - field = tempReference_field7.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field8 = - new Reference(field); - r = objT.DeleteScope(row, tempReference_field8); - field = tempReference_field8.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field9 = - new Reference(field); - RowCursor _; - Out tempOut__3 = - new Out(); - r = objT.ReadScope(row, tempReference_field9, tempOut__3); - _ = tempOut__3.get(); - field = tempReference_field9.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - public LayoutColumn ObjCol; - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.ObjCol = this.ObjCol; - varCopy.Col = this.Col; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public Object Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseObjectMulti extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference scope, - Closure closure) { - LayoutColumn col = closure.Col; - Property prop = closure.Prop.clone(); - Expected expected = closure.Expected.clone(); - String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); - - System.out.println(tag); - - TLayout t = (TLayout)col.type(); - - // Verify the nested field doesn't yet appear within the new scope. - RowCursor nestedField; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope.get().Clone(out nestedField).Find(row, col.path()); - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - Result r = t.ReadSparse(row, ref nestedField, out value); - Assert.IsTrue(r == Result.NOT_FOUND || r == Result.TYPE_MISMATCH, tag); - - // Write the nested field. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref nestedField, (TValue)prop.Value); - ResultAssert.IsSuccess(r, tag); - - // Read the nested field - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref nestedField, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar = prop.Value instanceof Array; - Array array = tempVar ? (Array)prop.Value : null; - if (tempVar) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(prop.Value, value, tag); - } - - // Overwrite the nested field. - if (t instanceof LayoutNull) { - Reference tempReference_nestedField = - new Reference(nestedField); - r = LayoutType.Boolean.WriteSparse(row, tempReference_nestedField, false); - nestedField = tempReference_nestedField.get(); - ResultAssert.IsSuccess(r, tag); - } else { - Reference tempReference_nestedField2 = - new Reference(nestedField); - r = LayoutType.Null.writeSparse(row, tempReference_nestedField2, NullValue.DEFAULT); - nestedField = tempReference_nestedField2.get(); - ResultAssert.IsSuccess(r, tag); - } - - // Verify nested field no longer there. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref nestedField, out value); - ResultAssert.TypeMismatch(r, tag); - } - - @Override - public void DispatchObject(Reference row, Reference scope, - Closure closure) { - LayoutColumn col = closure.Col; - Property prop = closure.Prop.clone(); - Expected expected = closure.Expected.clone(); - String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); - - System.out.println(tag); - - LayoutObject t = (LayoutObject)col.type(); - - // Verify the nested field doesn't yet appear within the new scope. - RowCursor nestedField; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope.get().Clone(out nestedField).Find(row, col.path()); - Reference tempReference_nestedField = - new Reference(nestedField); - RowCursor scope2; - Out tempOut_scope2 = - new Out(); - Result r = t.ReadScope(row, tempReference_nestedField, tempOut_scope2); - scope2 = tempOut_scope2.get(); - nestedField = tempReference_nestedField.get(); - ResultAssert.NotFound(r, tag); - - // Write the nested field. - Reference tempReference_nestedField2 = - new Reference(nestedField); - Out tempOut_scope22 = - new Out(); - r = t.WriteScope(row, tempReference_nestedField2, col.typeArgs().clone(), tempOut_scope22); - scope2 = tempOut_scope22.get(); - nestedField = tempReference_nestedField2.get(); - ResultAssert.IsSuccess(r, tag); - - // Read the nested field - Reference tempReference_nestedField3 = - new Reference(nestedField); - RowCursor scope3; - Out tempOut_scope3 = - new Out(); - r = t.ReadScope(row, tempReference_nestedField3, tempOut_scope3); - scope3 = tempOut_scope3.get(); - nestedField = tempReference_nestedField3.get(); - ResultAssert.IsSuccess(r, tag); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Assert.AreEqual(scope2.AsReadOnly(out _).ScopeType, scope3.ScopeType, tag); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Assert.AreEqual(scope2.AsReadOnly(out _).start, scope3.start(), tag); - - // Overwrite the nested field. - Reference tempReference_nestedField4 = - new Reference(nestedField); - r = LayoutType.Null.writeSparse(row, tempReference_nestedField4, NullValue.DEFAULT); - nestedField = tempReference_nestedField4.get(); - ResultAssert.IsSuccess(r, tag); - - // Verify nested field no longer there. - Reference tempReference_nestedField5 = - new Reference(nestedField); - Out tempOut_scope32 = - new Out(); - r = t.ReadScope(row, tempReference_nestedField5, tempOut_scope32); - scope3 = tempOut_scope32.get(); - nestedField = tempReference_nestedField5.get(); - ResultAssert.TypeMismatch(r, tag); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - public Property Prop = new Property(); - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Col = this.Col; - varCopy.Prop = this.Prop.clone(); - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public Property[] Props; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Props = this.Props.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Property - public final static class Property { - public String Path; - public Object Value; - - public Property clone() { - Property varCopy = new Property(); - - varCopy.Path = this.Path; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseObjectNested extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn col = closure.Col; - Property prop = closure.Prop.clone(); - Expected expected = closure.Expected.clone(); - String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); - - System.out.println(tag); - - TLayout t = (TLayout)col.type(); - - // Ensure scope exists. - RowCursor scope = LayoutCompilerUnitTests.EnsureScope(row, root, col.parent(), tag); - - // Write the nested field. - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - scope.Clone(out field).Find(row, col.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - Result r = t.WriteSparse(row, ref field, (TValue)prop.Value); - ResultAssert.IsSuccess(r, tag); - - // Read the nested field - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar = prop.Value instanceof Array; - Array array = tempVar ? (Array)prop.Value : null; - if (tempVar) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(prop.Value, value, tag); - } - - // Overwrite the nested field. - if (t instanceof LayoutNull) { - Reference tempReference_field = - new Reference(field); - r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); - field = tempReference_field.get(); - ResultAssert.IsSuccess(r, tag); - } else { - Reference tempReference_field2 = - new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, tag); - } - - // Verify nested field no longer there. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.TypeMismatch(r, tag); - } - - @Override - public void DispatchObject(Reference row, Reference root, Closure closure) { - LayoutColumn col = closure.Col; - Property prop = closure.Prop.clone(); - Expected expected = closure.Expected.clone(); - String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); - - System.out.println(tag); - - // Ensure scope exists. - RowCursor scope = LayoutCompilerUnitTests.EnsureScope(row, root, col, tag); - assert root.get().clone() != scope.clone(); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - public Property Prop = new Property(); - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Col = this.Col; - varCopy.Prop = this.Prop.clone(); - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public Property[] Props; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Props = this.Props.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Property - public final static class Property { - public String Path; - public Object Value; - - public Property clone() { - Property varCopy = new Property(); - - varCopy.Path = this.Path; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseOrdering extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutType type = closure.Expected.Type; - String path = closure.Expected.Path; - Object exValue = closure.Expected.Value; - String json = closure.Json; - - TLayout t = (TLayout)type; - TValue value = (TValue)exValue; - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out field).Find(row, path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - Result r = t.WriteSparse(row, ref field, value); - ResultAssert.IsSuccess(r, "Json: {0}", json); - Out tempOut_value = new Out(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref field, tempOut_value); - value = tempOut_value.get(); - ResultAssert.IsSuccess(r, "Json: {0}", json); - boolean tempVar = exValue instanceof Array; - Array array = tempVar ? (Array)exValue : null; - if (tempVar) { - CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", json); - } else { - Assert.AreEqual(exValue, value, "Json: {0}", json); - } - - if (t instanceof LayoutNull) { - Reference tempReference_field = - new Reference(field); - r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); - field = tempReference_field.get(); - ResultAssert.IsSuccess(r, "Json: {0}", json); - Out tempOut_value2 = new Out(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref field, tempOut_value2); - value = tempOut_value2.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", json); - } else { - Reference tempReference_field2 = - new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, "Json: {0}", json); - Out tempOut_value3 = new Out(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref field, tempOut_value3); - value = tempOut_value3.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", json); - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public Expected Expected = new Expected(); - public String Json; - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Json = this.Json; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Path; - public LayoutType Type; - public Object Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Path = this.Path; - varCopy.Type = this.Type; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseSet extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn setCol = closure.SetCol; - LayoutType tempVar = setCol.type(); - LayoutUniqueScope setT = tempVar instanceof LayoutUniqueScope ? (LayoutUniqueScope)tempVar : null; - Expected expected = closure.Expected.clone(); - String tag = String.format("Json: %1$s, Set: %2$s", expected.Json, setCol.type().getName()); - - System.out.println(tag); - Assert.IsNotNull(setT, tag); - - TLayout t = (TLayout)expected.Type; - - // Verify the Set doesn't yet exist. - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out field).Find(row, setCol.path()); - Reference tempReference_field = - new Reference(field); - RowCursor scope; - Out tempOut_scope = - new Out(); - Result r = setT.ReadScope(row, tempReference_field, tempOut_scope); - scope = tempOut_scope.get(); - field = tempReference_field.get(); - ResultAssert.NotFound(r, tag); - - // Write the Set. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = setT.WriteScope(row, ref field, setCol.typeArgs().clone(), out scope); - ResultAssert.IsSuccess(r, tag); - - // Verify the nested field doesn't yet appear within the new scope. - assert !scope.MoveNext(row); - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref scope, out value); - ResultAssert.NotFound(r, tag); - - // Write the nested fields. - for (Object v1 : expected.Value) { - // Write the ith item into staging storage. - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.WriteSparse(row, ref tempCursor, (TValue)v1); - ResultAssert.IsSuccess(r, tag); - - // Move item into the set. - Reference tempReference_scope = - new Reference(scope); - Reference tempReference_tempCursor = - new Reference(tempCursor); - r = setT.MoveField(row, tempReference_scope, tempReference_tempCursor); - tempCursor = tempReference_tempCursor.get(); - scope = tempReference_scope.get(); - ResultAssert.IsSuccess(r, tag); - } - - // Attempts to insert the same items into the set again will fail. - for (Object v2 : expected.Value) { - // Write the ith item into staging storage. - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.WriteSparse(row, ref tempCursor, (TValue)v2); - ResultAssert.IsSuccess(r, tag); - - // Move item into the set. - Reference tempReference_scope2 = - new Reference(scope); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - r = setT.MoveField(row, tempReference_scope2, tempReference_tempCursor2, UpdateOptions.Insert); - tempCursor = tempReference_tempCursor2.get(); - scope = tempReference_scope2.get(); - ResultAssert.Exists(r, tag); - } - - // Read the Set and the nested column, validate the nested column has the proper value. - Reference tempReference_field2 = - new Reference(field); - RowCursor scope2; - Out tempOut_scope2 = - new Out(); - r = setT.ReadScope(row, tempReference_field2, tempOut_scope2); - scope2 = tempOut_scope2.get(); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, tag); - Assert.AreEqual(scope.ScopeType, scope2.ScopeType, tag); - Assert.AreEqual(scope.start(), scope2.start(), tag); - Assert.AreEqual(scope.Immutable, scope2.Immutable, tag); - - // Read the nested fields - Reference tempReference_field3 = - new Reference(field); - Out tempOut_scope2 = - new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field3, tempOut_scope2)); - scope = tempOut_scope2.get(); - field = tempReference_field3.get(); - for (Object item : expected.Value) { - assert scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref scope, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar2 = item instanceof Array; - Array array = tempVar2 ? (Array)item : null; - if (tempVar2) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(item, value, tag); - } - } - - // Delete all of the items and then insert them again in the opposite order. - Reference tempReference_field4 = - new Reference(field); - Out tempOut_scope3 = - new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field4, tempOut_scope3)); - scope = tempOut_scope3.get(); - field = tempReference_field4.get(); - for (int i = 0; i < expected.Value.size(); i++) { - assert scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.DeleteSparse(row, ref scope); - ResultAssert.IsSuccess(r, tag); - } - - Reference tempReference_field5 = - new Reference(field); - Out tempOut_scope4 = - new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field5, tempOut_scope4)); - scope = tempOut_scope4.get(); - field = tempReference_field5.get(); - for (int i = expected.Value.size() - 1; i >= 0; i--) { - // Write the ith item into staging storage. - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.WriteSparse(row, ref tempCursor, (TValue)expected.Value.get(i)); - ResultAssert.IsSuccess(r, tag); - - // Move item into the set. - Reference tempReference_scope3 = - new Reference(scope); - Reference tempReference_tempCursor3 = - new Reference(tempCursor); - r = setT.MoveField(row, tempReference_scope3, tempReference_tempCursor3); - tempCursor = tempReference_tempCursor3.get(); - scope = tempReference_scope3.get(); - ResultAssert.IsSuccess(r, tag); - } - - // Verify they still enumerate in sorted order. - Reference tempReference_field6 = - new Reference(field); - Out tempOut_scope5 = - new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field6, tempOut_scope5)); - scope = tempOut_scope5.get(); - field = tempReference_field6.get(); - for (Object item : expected.Value) { - assert scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref scope, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar3 = item instanceof Array; - Array array = tempVar3 ? (Array)item : null; - if (tempVar3) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(item, value, tag); - } - } - - // Delete one item. - if (expected.Value.size() > 1) { - int indexToDelete = 1; - Reference tempReference_field7 = - new Reference(field); - Out tempOut_scope6 = new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field7, tempOut_scope6)); - scope = tempOut_scope6.get(); - field = tempReference_field7.get(); - assert scope.MoveTo(row, indexToDelete); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.DeleteSparse(row, ref scope); - ResultAssert.IsSuccess(r, tag); - ArrayList remainingValues = new ArrayList(expected.Value); - remainingValues.remove(indexToDelete); - - Reference tempReference_field8 = new Reference(field); - Out tempOut_scope7 = new Out(); - ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field8, tempOut_scope7)); - scope = tempOut_scope7.get(); - field = tempReference_field8.get(); - for (Object item : remainingValues) { - assert scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref scope, out value); - ResultAssert.IsSuccess(r, tag); - boolean tempVar4 = item instanceof Array; - Array array = tempVar4 ? (Array)item : null; - if (tempVar4) { - CollectionAssert.AreEqual(array, (Collection)value, tag); - } else { - Assert.AreEqual(item, value, tag); - } - } - - assert !scope.MoveTo(row, remainingValues.size()); - } - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot).Find(row, setCol.path()); - Reference tempReference_roRoot = new Reference(roRoot); - ResultAssert.InsufficientPermissions(setT.DeleteScope(row, tempReference_roRoot)); - roRoot = tempReference_roRoot.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(setT.WriteScope(row, ref roRoot, setCol.typeArgs().clone(), out _)); - - // Overwrite the whole scope. - Reference tempReference_field9 = new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field9, NullValue.DEFAULT); - field = tempReference_field9.get(); - ResultAssert.IsSuccess(r, tag); - Reference tempReference_field10 = new Reference(field); - RowCursor _; - Out tempOut__ = new Out(); - r = setT.ReadScope(row, tempReference_field10, tempOut__); - _ = tempOut__.get(); - field = tempReference_field10.get(); - ResultAssert.TypeMismatch(r, tag); - Reference tempReference_field11 = new Reference(field); - r = setT.DeleteScope(row, tempReference_field11); - field = tempReference_field11.get(); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - - // Overwrite it again, then delete it. - Reference tempReference_field12 = new Reference(field); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - r = setT.WriteScope(row, tempReference_field12, setCol.typeArgs().clone(), out _, UpdateOptions.Update); - field = tempReference_field12.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field13 = new Reference(field); - r = setT.DeleteScope(row, tempReference_field13); - field = tempReference_field13.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - Reference tempReference_field14 = new Reference(field); - RowCursor _; - Out tempOut__2 = new Out(); - r = setT.ReadScope(row, tempReference_field14, tempOut__2); - _ = tempOut__2.get(); - field = tempReference_field14.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public Expected Expected = new Expected(); - public LayoutColumn SetCol; - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.SetCol = this.SetCol; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public LayoutType Type; - public ArrayList Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Type = this.Type; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private final static class RoundTripSparseSimple extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn col = closure.Col; - Expected expected = closure.Expected.clone(); - - System.out.printf("%1$s" + "\r\n", col.type().getName()); - TLayout t = (TLayout)col.type(); - RowCursor field; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out field).Find(row, col.path()); - TValue value; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - Result r = t.ReadSparse(row, ref field, out value); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Update); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref field, (TValue)expected.Value); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Insert); - ResultAssert.Exists(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - boolean tempVar = expected.Value instanceof Array; - Array array = tempVar ? (Array)expected.Value : null; - if (tempVar) { - CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); - } else { - Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); - } - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot).Find(row, col.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(t.DeleteSparse(row, ref roRoot)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(t.WriteSparse(row, ref roRoot, (TValue)expected.Value, - UpdateOptions.Update)); - - if (t instanceof LayoutNull) { - Reference tempReference_field = - new Reference(field); - r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); - field = tempReference_field.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - } else { - Reference tempReference_field2 = - new Reference(field); - r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); - field = tempReference_field2.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.DeleteSparse(row, ref field); - ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); - - // Overwrite it again, then delete it. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Update); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.DeleteSparse(row, ref field); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - r = t.ReadSparse(row, ref field, out value); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Col = this.Col; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public Object Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Value = this.Value; - - return varCopy; - } - } -} - -private static class RoundTripVariable extends TestActionDispatcher { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - LayoutColumn col = closure.Col; - Expected expected = closure.Expected.clone(); - - System.out.printf("%1$s" + "\r\n", expected.Json); - - this.RoundTrip(row, root, col, expected.Value, expected.clone()); - } - - protected final , TValue> void Compare(Reference row, - Reference root, LayoutColumn col, Object exValue, Expected expected) { - TLayout t = (TLayout)col.type(); - TValue value; - Out tempOut_value = new Out(); - Result r = t.readVariable(row, root, col, tempOut_value); - value = tempOut_value.get(); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - boolean tempVar = exValue instanceof Array; - Array array = tempVar ? (Array)exValue : null; - if (tempVar) { - CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); - } else { - Assert.AreEqual(exValue, value, "Json: {0}", expected.Json); - } - } - - protected final , TValue> void RoundTrip(Reference row, - Reference root, LayoutColumn col, Object exValue, Expected expected) { - TLayout t = (TLayout)col.type(); - Result r = t.writeVariable(row, root, col, (TValue)exValue); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - this.Compare(row, root, col, exValue, expected.clone()); - - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot); - Reference tempReference_roRoot = - new Reference(roRoot); - ResultAssert.InsufficientPermissions(t.writeVariable(row, tempReference_roRoot, col, (TValue)expected.Value)); - roRoot = tempReference_roRoot.get(); - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Closure - public final static class Closure { - public LayoutColumn Col; - public Expected Expected = new Expected(); - public Layout Layout; - - public Closure clone() { - Closure varCopy = new Closure(); - - varCopy.Col = this.Col; - varCopy.Layout = this.Layout; - varCopy.Expected = this.Expected.clone(); - - return varCopy; - } - } - - //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may - // differ from the original: - //ORIGINAL LINE: public struct Expected - public final static class Expected { - public String Json; - public Object Long; - public Object Short; - public Object TooBig; - public Object Value; - - public Expected clone() { - Expected varCopy = new Expected(); - - varCopy.Json = this.Json; - varCopy.Short = this.Short; - varCopy.Value = this.Value; - varCopy.Long = this.Long; - varCopy.TooBig = this.TooBig; - - return varCopy; - } - } -} - -private abstract static class TestActionDispatcher { - public abstract , TValue> void Dispatch(Reference row, Reference scope, TClosure closure); - - public void DispatchObject(Reference row, Reference scope, TClosure closure) { - Assert.Fail("not implemented"); - } -} - -private final static class VariableInterleaving extends RoundTripVariable { - @Override - public void Dispatch(Reference row, Reference root, - Closure closure) { - Layout layout = closure.Layout; - Expected expected = closure.Expected.clone(); - - System.out.printf("%1$s" + "\r\n", expected.Json); - - LayoutColumn a = this.Verify(row, root, layout, "a", expected.clone()); - LayoutColumn b = this.Verify(row, root, layout, "b", expected.clone()); - LayoutColumn c = this.Verify(row, root, layout, "c", expected.clone()); - - this.RoundTrip(row, root, b, expected.Value, expected.clone()); - this.RoundTrip(row, root, a, expected.Value, expected.clone()); - this.RoundTrip(row, root, c, expected.Value, expected.clone()); - - // Make the var column shorter. - int rowSizeBeforeShrink = row.get().length(); - this.RoundTrip(row, root, a, expected.Short, expected.clone()); - this.Compare(row, root, c, expected.Value, expected.clone()); - int rowSizeAfterShrink = row.get().length(); - Assert.IsTrue(rowSizeAfterShrink < rowSizeBeforeShrink, "Json: {0}", expected.Json); - - // Make the var column longer. - this.RoundTrip(row, root, a, expected.Long, expected.clone()); - this.Compare(row, root, c, expected.Value, expected.clone()); - int rowSizeAfterGrow = row.get().length(); - Assert.IsTrue(rowSizeAfterGrow > rowSizeAfterShrink, "Json: {0}", expected.Json); - Assert.IsTrue(rowSizeAfterGrow > rowSizeBeforeShrink, "Json: {0}", expected.Json); - - // Check for size overflow errors. - if (a.getSize() > 0) { - this.TooBig(row, root, a, expected.clone()); - } - - // Delete the var column. - this.Delete(row, root, b, expected.clone()); - this.Delete(row, root, c, expected.clone()); - this.Delete(row, root, a, expected.clone()); - } - - private , TValue> void Delete(Reference row, - Reference root, LayoutColumn col, Expected expected) { - TLayout t = (TLayout)col.type(); - RowCursor roRoot; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().AsReadOnly(out roRoot); - Reference tempReference_roRoot = - new Reference(roRoot); - ResultAssert.InsufficientPermissions(t.deleteVariable(row, tempReference_roRoot, col)); - roRoot = tempReference_roRoot.get(); - Result r = t.deleteVariable(row, root, col); - ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); - TValue _; - Out tempOut__ = new Out(); - r = t.readVariable(row, root, col, tempOut__); - _ = tempOut__.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - } - - private , TValue> void TooBig(Reference row, - Reference root, LayoutColumn col, Expected expected) { - TLayout t = (TLayout)col.type(); - Result r = t.writeVariable(row, root, col, (TValue)expected.TooBig); - Assert.AreEqual(Result.TOO_BIG, r, "Json: {0}", expected.Json); - } - - private , TValue> LayoutColumn Verify(Reference row, - Reference root, Layout layout, String path, Expected expected) { - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - boolean found = layout.TryFind(path, out col); - Assert.IsTrue(found, "Json: {0}", expected.Json); - assert col.Type.AllowVariable; - TLayout t = (TLayout)col.Type; - TValue _; - Out tempOut__ = new Out(); - Result r = t.readVariable(row, root, col, tempOut__); - _ = tempOut__.get(); - ResultAssert.NotFound(r, "Json: {0}", expected.Json); - return col; - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.NullValue; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBit; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.UUID; + +// ReSharper disable CommentTypo +// ReSharper disable StringLiteralTypo +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1201 // Elements should appear in the correct order +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable IDE0008 // Use explicit type + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here +// are anonymous.")] public class LayoutCompilerUnitTests +public class LayoutCompilerUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PackNullAndBoolBits() + public final void PackNullAndBoolBits() { + // Test that null bits and bool bits are packed tightly in the layout. + Schema s = new Schema(); + s.setName("TestSchema"); + s.setSchemaId(new SchemaId(1)); + s.setType(TypeKind.Schema); + for (int i = 0; i < 32; i++) { + Property tempVar = new Property(); + tempVar.setPath(String.valueOf(i)); + PrimitivePropertyType tempVar2 = new PrimitivePropertyType(); + tempVar2.setType(TypeKind.Boolean); + tempVar2.setStorage(StorageKind.Fixed); + tempVar.setPropertyType(tempVar2); + s.getProperties().add(tempVar); + + Namespace tempVar3 = new Namespace(); + tempVar3.setSchemas(new ArrayList(Arrays.asList(s))); + Layout layout = s.Compile(tempVar3); + Assert.IsTrue(layout.getSize() == LayoutBit.divCeiling((i + 1) * 2, LayoutType.BitsPerByte), "Size: {0}, " + + "i: {1}", layout.getSize(), i); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaFixed() + public final void ParseSchemaFixed() { + // Test all fixed column types. + RoundTripFixed.Expected tempVar = new RoundTripFixed.Expected(); + tempVar.TypeName = "null"; + tempVar.Default = new NullValue(); + tempVar.Value = NullValue.DEFAULT; + RoundTripFixed.Expected tempVar2 = new RoundTripFixed.Expected(); + tempVar2.TypeName = "bool"; + tempVar2.Default = false; + tempVar2.Value = false; + RoundTripFixed.Expected tempVar3 = new RoundTripFixed.Expected(); + tempVar3.TypeName = "int8"; + tempVar3.Default = 0; + tempVar3.Value = (byte)42; + RoundTripFixed.Expected tempVar4 = new RoundTripFixed.Expected(); + tempVar4.TypeName = "int16"; + tempVar4.Default = 0; + tempVar4.Value = (short)42; + RoundTripFixed.Expected tempVar5 = new RoundTripFixed.Expected(); + tempVar5.TypeName = "int32"; + tempVar5.Default = 0; + tempVar5.Value = 42; + RoundTripFixed.Expected tempVar6 = new RoundTripFixed.Expected(); + tempVar6.TypeName = "int64"; + tempVar6.Default = 0; + tempVar6.Value = 42L; + RoundTripFixed.Expected tempVar7 = new RoundTripFixed.Expected(); + tempVar7.TypeName = "uint8"; + tempVar7.Default = 0; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar7.Value = (byte)42; + tempVar7.Value = (byte)42; + RoundTripFixed.Expected tempVar8 = new RoundTripFixed.Expected(); + tempVar8.TypeName = "uint16"; + tempVar8.Default = 0; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar8.Value = (ushort)42; + tempVar8.Value = (short)42; + RoundTripFixed.Expected tempVar9 = new RoundTripFixed.Expected(); + tempVar9.TypeName = "uint32"; + tempVar9.Default = 0; + tempVar9.Value = 42; + RoundTripFixed.Expected tempVar10 = new RoundTripFixed.Expected(); + tempVar10.TypeName = "uint64"; + tempVar10.Default = 0; + tempVar10.Value = 42; + RoundTripFixed.Expected tempVar11 = new RoundTripFixed.Expected(); + tempVar11.TypeName = "float32"; + tempVar11.Default = 0; + tempVar11.Value = 4.2F; + RoundTripFixed.Expected tempVar12 = new RoundTripFixed.Expected(); + tempVar12.TypeName = "float64"; + tempVar12.Default = 0; + tempVar12.Value = 4.2; + RoundTripFixed.Expected tempVar13 = new RoundTripFixed.Expected(); + tempVar13.TypeName = "float128"; + tempVar13.Default = new Float128(); + tempVar13.Value = new Float128(0, 42); + RoundTripFixed.Expected tempVar14 = new RoundTripFixed.Expected(); + tempVar14.TypeName = "decimal"; + tempVar14.Default = new BigDecimal(0); + tempVar14.Value = 4.2; + RoundTripFixed.Expected tempVar15 = new RoundTripFixed.Expected(); + tempVar15.TypeName = "datetime"; + tempVar15.Default = LocalDateTime.MIN; + tempVar15.Value = LocalDateTime.UtcNow; + RoundTripFixed.Expected tempVar16 = new RoundTripFixed.Expected(); + tempVar16.TypeName = "unixdatetime"; + tempVar16.Default = new UnixDateTime(); + tempVar16.Value = new UnixDateTime(42); + RoundTripFixed.Expected tempVar17 = new RoundTripFixed.Expected(); + tempVar17.TypeName = "guid"; + tempVar17.Default = null; + tempVar17.Value = UUID.NewGuid(); + RoundTripFixed.Expected tempVar18 = new RoundTripFixed.Expected(); + tempVar18.TypeName = "mongodbobjectid"; + tempVar18.Default = new MongoDbObjectId(); + tempVar18.Value = new MongoDbObjectId(0, 42); + RoundTripFixed.Expected tempVar19 = new RoundTripFixed.Expected(); + tempVar19.TypeName = "utf8"; + tempVar19.Default = "\0\0"; + tempVar19.Value = "AB"; + tempVar19.Length = 2; + RoundTripFixed.Expected tempVar20 = new RoundTripFixed.Expected(); + tempVar20.TypeName = "binary"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar20.Default = new byte[] { 0x00, 0x00 }; + tempVar20.Default = new byte[] { 0x00, 0x00 }; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar20.Value = new byte[] { 0x01, 0x02 }; + tempVar20.Value = new byte[] { 0x01, 0x02 }; + tempVar20.Length = 2; + RoundTripFixed.Expected[] expectedSchemas = + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripFixed.Expected[] { tempVar, tempVar2, tempVar3, tempVar4, tempVar5, tempVar6, tempVar7, tempVar8, tempVar9, tempVar10, tempVar11, tempVar12, tempVar13, tempVar14, tempVar15, tempVar16, tempVar17, tempVar18, tempVar19, tempVar20 }; + + RowBuffer row = new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for (String nullable : new String[] { "true", "false" }) { + for (RoundTripFixed.Expected exp : expectedSchemas) { + RoundTripFixed.Expected expected = exp.clone(); + String typeSchema = String.format("{'type': '%1$s', 'storage': 'fixed', 'length': %2$s, 'nullable': " + + "%3$s", expected.TypeName, expected.Length, nullable + } + }) + expected.Json = typeSchema; + String propSchema = String.format("{'path': 'a', 'type': %1$s", typeSchema + } +}); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); + try + { + Schema s=Schema.Parse(tableSchema); + Namespace tempVar21=new Namespace(); + tempVar21.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar21); + Layout layout=resolver.Resolve(new SchemaId(-1)); + Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); + Assert.AreEqual(s.getName(),layout.getName(),"Json: {0}",expected.Json); + Assert.IsTrue(layout.toString().length()>0,"Json: {0}",expected.Json); + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Fixed,col.Storage,"Json: {0}",expected.Json); + Assert.AreEqual(expected.Length==0,col.Type.IsFixed,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripFixed.Closure tempVar22=new RoundTripFixed.Closure(); + tempVar22.Col=col; + tempVar22.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2,tempRef_root, + tempVar22.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + catch(LayoutCompilationException e) + { + assert expected.TypeName.equals("null"); + assert"false"==nullable; + } + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaVariable() +public final void ParseSchemaVariable() + { + // Helper functions to create sample arrays. + // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: + // string MakeS(int size) + // { + // StringBuilder ret = new StringBuilder(size); + // for (int i = 0; i < size; i++) + // { + // ret.Append(unchecked((char)('a' + (i % 26)))); // allow wrapping (this also allows \0 chars) + // } + // + // return ret.ToString(); + // } + + // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: + // byte[] MakeB(int size) + // { + // byte[] ret = new byte[size]; + // for (int i = 0; i < size; i++) + // { + // ret[i] = unchecked((byte)(i + 1)); // allow wrapping + // } + // + // return ret; + // } + + // Test all variable column types. + RoundTripVariable.Expected tempVar=new RoundTripVariable.Expected(); + tempVar.Json="{'type': 'utf8', 'storage': 'variable', 'length': 100}"; + tempVar.Short=MakeS(2); + tempVar.Value=MakeS(20); + tempVar.Long=MakeS(100); + tempVar.TooBig=MakeS(200); + RoundTripVariable.Expected tempVar2=new RoundTripVariable.Expected(); + tempVar2.Json="{'type': 'binary', 'storage': 'variable', 'length': 100}"; + tempVar2.Short=MakeB(2); + tempVar2.Value=MakeB(20); + tempVar2.Long=MakeB(100); + tempVar2.TooBig=MakeB(200); + RoundTripVariable.Expected tempVar3=new RoundTripVariable.Expected(); + tempVar3.Json="{'type': 'varint', 'storage': 'variable'}"; + tempVar3.Short=1L; + tempVar3.Value=255L; + tempVar3.Long=Long.MAX_VALUE; + RoundTripVariable.Expected tempVar4=new RoundTripVariable.Expected(); + tempVar4.Json="{'type': 'varuint', 'storage': 'variable'}"; + tempVar4.Short=1; + tempVar4.Value=255; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar4.Long = ulong.MaxValue; + tempVar4.Long=Long.MAX_VALUE; + RoundTripVariable.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripVariable.Expected[]{tempVar,tempVar2,tempVar3,tempVar4}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripVariable.Expected expected:expectedSchemas) + { + String propSchema=String.format("{'path': 'a', 'type': %1$s, ",expected.Json}})+"\r\n"+ + " {{'path': 'b', 'type': {expected.Json}}}, "+"\r\n"+ + " {{'path': 'c', 'type': {expected.Json}}}"; + + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar5=new Namespace(); + tempVar5.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar5); + Layout layout=resolver.Resolve(new SchemaId(-1)); + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + assert col.Type.AllowVariable; + Assert.AreEqual(StorageKind.Variable,col.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripVariable.Closure tempVar6=new RoundTripVariable.Closure(); + tempVar6.Layout=layout; + tempVar6.Col=col; + tempVar6.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, + tempRef_root,tempVar6.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SparseOrdering() +public final void SparseOrdering() + { + // Test various orderings of multiple sparse column types. + RoundTripSparseOrdering.Expected tempVar=new RoundTripSparseOrdering.Expected(); + tempVar.Path="a"; + tempVar.Type=LayoutType.Utf8; + tempVar.Value="aa"; + RoundTripSparseOrdering.Expected tempVar2=new RoundTripSparseOrdering.Expected(); + tempVar2.Path="b"; + tempVar2.Type=LayoutType.Utf8; + tempVar2.Value="bb"; + RoundTripSparseOrdering.Expected tempVar3=new RoundTripSparseOrdering.Expected(); + tempVar3.Path="a"; + tempVar3.Type=LayoutType.VarInt; + tempVar3.Value=42L; + RoundTripSparseOrdering.Expected tempVar4=new RoundTripSparseOrdering.Expected(); + tempVar4.Path="b"; + tempVar4.Type=LayoutType.Int64; + tempVar4.Value=43L; + RoundTripSparseOrdering.Expected tempVar5=new RoundTripSparseOrdering.Expected(); + tempVar5.Path="a"; + tempVar5.Type=LayoutType.VarInt; + tempVar5.Value=42L; + RoundTripSparseOrdering.Expected tempVar6=new RoundTripSparseOrdering.Expected(); + tempVar6.Path="b"; + tempVar6.Type=LayoutType.Utf8; + tempVar6.Value="aa"; + RoundTripSparseOrdering.Expected tempVar7=new RoundTripSparseOrdering.Expected(); + tempVar7.Path="c"; + tempVar7.Type=LayoutType.Null; + tempVar7.Value=NullValue.Default; + RoundTripSparseOrdering.Expected tempVar8=new RoundTripSparseOrdering.Expected(); + tempVar8.Path="d"; + tempVar8.Type=LayoutType.Boolean; + tempVar8.Value=true; + RoundTripSparseOrdering.Expected[][]expectedOrders= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[][] + { + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar,tempVar2}, + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar3,tempVar4}, + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseOrdering.Expected[]{tempVar5,tempVar6,tempVar7,tempVar8} + }; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseOrdering.Expected[]expectedSet:expectedOrders) + { + for(java.lang.Iterablepermutation:expectedSet.Permute()) + { + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to LINQ query syntax: + String json=tangible.StringHelper.join(", ",from p in permutation select p.Path+": "+p.Type.Name); + System.out.printf("%1$s"+"\r\n",json); + + row.Reset(); + row.InitLayout(HybridRowVersion.V1,Layout.Empty,SystemSchema.LayoutResolver); + for(RoundTripSparseOrdering.Expected field:permutation) + { + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripSparseOrdering.Closure tempVar9=new RoundTripSparseOrdering.Closure(); + tempVar9.Expected=field.clone(); + tempVar9.Json=json; + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(field.Type.LayoutCode, + tempRef_row2,tempRef_root,tempVar9.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseSimple() +public final void ParseSchemaSparseSimple() + { + // Test all sparse column types. + RoundTripSparseSimple.Expected tempVar=new RoundTripSparseSimple.Expected(); + tempVar.Json="{'type': 'null', 'storage': 'sparse'}"; + tempVar.Value=NullValue.Default; + RoundTripSparseSimple.Expected tempVar2=new RoundTripSparseSimple.Expected(); + tempVar2.Json="{'type': 'bool', 'storage': 'sparse'}"; + tempVar2.Value=true; + RoundTripSparseSimple.Expected tempVar3=new RoundTripSparseSimple.Expected(); + tempVar3.Json="{'type': 'bool', 'storage': 'sparse'}"; + tempVar3.Value=false; + RoundTripSparseSimple.Expected tempVar4=new RoundTripSparseSimple.Expected(); + tempVar4.Json="{'type': 'int8', 'storage': 'sparse'}"; + tempVar4.Value=(byte)42; + RoundTripSparseSimple.Expected tempVar5=new RoundTripSparseSimple.Expected(); + tempVar5.Json="{'type': 'int16', 'storage': 'sparse'}"; + tempVar5.Value=(short)42; + RoundTripSparseSimple.Expected tempVar6=new RoundTripSparseSimple.Expected(); + tempVar6.Json="{'type': 'int32', 'storage': 'sparse'}"; + tempVar6.Value=42; + RoundTripSparseSimple.Expected tempVar7=new RoundTripSparseSimple.Expected(); + tempVar7.Json="{'type': 'int64', 'storage': 'sparse'}"; + tempVar7.Value=42L; + RoundTripSparseSimple.Expected tempVar8=new RoundTripSparseSimple.Expected(); + tempVar8.Json="{'type': 'uint8', 'storage': 'sparse'}"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar8.Value = (byte)42; + tempVar8.Value=(byte)42; + RoundTripSparseSimple.Expected tempVar9=new RoundTripSparseSimple.Expected(); + tempVar9.Json="{'type': 'uint16', 'storage': 'sparse'}"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar9.Value = (ushort)42; + tempVar9.Value=(short)42; + RoundTripSparseSimple.Expected tempVar10=new RoundTripSparseSimple.Expected(); + tempVar10.Json="{'type': 'uint32', 'storage': 'sparse'}"; + tempVar10.Value=42; + RoundTripSparseSimple.Expected tempVar11=new RoundTripSparseSimple.Expected(); + tempVar11.Json="{'type': 'uint64', 'storage': 'sparse'}"; + tempVar11.Value=42; + RoundTripSparseSimple.Expected tempVar12=new RoundTripSparseSimple.Expected(); + tempVar12.Json="{'type': 'varint', 'storage': 'sparse'}"; + tempVar12.Value=42L; + RoundTripSparseSimple.Expected tempVar13=new RoundTripSparseSimple.Expected(); + tempVar13.Json="{'type': 'varuint', 'storage': 'sparse'}"; + tempVar13.Value=42; + RoundTripSparseSimple.Expected tempVar14=new RoundTripSparseSimple.Expected(); + tempVar14.Json="{'type': 'float32', 'storage': 'sparse'}"; + tempVar14.Value=4.2F; + RoundTripSparseSimple.Expected tempVar15=new RoundTripSparseSimple.Expected(); + tempVar15.Json="{'type': 'float64', 'storage': 'sparse'}"; + tempVar15.Value=4.2; + RoundTripSparseSimple.Expected tempVar16=new RoundTripSparseSimple.Expected(); + tempVar16.Json="{'type': 'float128', 'storage': 'sparse'}"; + tempVar16.Value=new Float128(0,42); + RoundTripSparseSimple.Expected tempVar17=new RoundTripSparseSimple.Expected(); + tempVar17.Json="{'type': 'decimal', 'storage': 'sparse'}"; + tempVar17.Value=4.2; + RoundTripSparseSimple.Expected tempVar18=new RoundTripSparseSimple.Expected(); + tempVar18.Json="{'type': 'datetime', 'storage': 'sparse'}"; + tempVar18.Value=LocalDateTime.UtcNow; + RoundTripSparseSimple.Expected tempVar19=new RoundTripSparseSimple.Expected(); + tempVar19.Json="{'type': 'unixdatetime', 'storage': 'sparse'}"; + tempVar19.Value=new UnixDateTime(42); + RoundTripSparseSimple.Expected tempVar20=new RoundTripSparseSimple.Expected(); + tempVar20.Json="{'type': 'guid', 'storage': 'sparse'}"; + tempVar20.Value=UUID.NewGuid(); + RoundTripSparseSimple.Expected tempVar21=new RoundTripSparseSimple.Expected(); + tempVar21.Json="{'type': 'mongodbobjectid', 'storage': 'sparse'}"; + tempVar21.Value=new MongoDbObjectId(0,42); + RoundTripSparseSimple.Expected tempVar22=new RoundTripSparseSimple.Expected(); + tempVar22.Json="{'type': 'utf8', 'storage': 'sparse'}"; + tempVar22.Value="AB"; + RoundTripSparseSimple.Expected tempVar23=new RoundTripSparseSimple.Expected(); + tempVar23.Json="{'type': 'binary', 'storage': 'sparse'}"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar23.Value = new byte[] { 0x01, 0x02 }; + tempVar23.Value=new byte[]{0x01,0x02}; + RoundTripSparseSimple.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseSimple.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19,tempVar20,tempVar21,tempVar22,tempVar23}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseSimple.Expected expected:expectedSchemas) + { + String propSchema=String.format("{'path': 'a', 'type': %1$s",expected.Json}}); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }",propSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar24=new Namespace(); + tempVar24.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar24); + Layout layout=resolver.Resolve(new SchemaId(-1)); + Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripSparseSimple.Closure tempVar25=new RoundTripSparseSimple.Closure(); + tempVar25.Col=col; + tempVar25.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, + tempRef_root,tempVar25.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaUDT() +public final void ParseSchemaUDT() + { + String namespaceJson=""+"\r\n"+ + " {'name': 'myNamespace', "+"\r\n"+ + " 'schemas': ["+"\r\n"+ + " {'name': 'udtA', 'id': 1, 'type': 'schema', 'options': { 'disallowUnschematized': false }, " + +"\r\n"+ + " 'properties': [ "+"\r\n"+ + " { 'path': 'a', 'type': { 'type': 'int8', 'storage': 'fixed' }}, "+"\r\n"+ + " { 'path': 'b', 'type': { 'type': 'utf8', 'storage': 'variable', 'length': 100 }} "+"\r\n"+ + " ]"+"\r\n"+ + " },"+"\r\n"+ + " {'name': 'udtB', 'id': 2, 'type': 'schema'},"+"\r\n"+ + " {'name': 'udtB', 'id': 3, 'type': 'schema'},"+"\r\n"+ + " {'name': 'udtB', 'id': 4, 'type': 'schema'},"+"\r\n"+ + " {'name': 'table', 'id': -1, 'type': 'schema', "+"\r\n"+ + " 'properties': ["+"\r\n"+ + " { 'path': 'u', 'type': { 'type': 'schema', 'name': 'udtA' }}, "+"\r\n"+ + " { 'path': 'v', 'type': { 'type': 'schema', 'name': 'udtB', 'id': 3 }}, "+"\r\n"+ + " ] "+"\r\n"+ + " }"+"\r\n"+ + " ]"+"\r\n"+ + " }"; + + Namespace n1=Namespace.Parse(namespaceJson); + + String tag=String.format("Json: %1$s",namespaceJson); + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + Schema s=tangible.ListHelper.find(n1.getSchemas(),x->x.Name.equals("table")); + assert s!=null; + assert"table"==s.getName(); + Layout layout=s.Compile(n1); + LayoutColumn udtACol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("u",out udtACol); + Assert.IsTrue(found,tag); + Assert.AreEqual(StorageKind.Sparse,udtACol.Storage,tag); + + Schema udtASchema=tangible.ListHelper.find(n1.getSchemas(),x->x.SchemaId==udtACol.TypeArgs.SchemaId); + assert udtASchema!=null; + assert"udtA"==udtASchema.getName(); + + // Verify that UDT versioning works through schema references. + LayoutColumn udtBCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=layout.TryFind("v",out udtBCol); + Assert.IsTrue(found,tag); + Assert.AreEqual(StorageKind.Sparse,udtBCol.Storage,tag); + Schema udtBSchema=tangible.ListHelper.find(n1.getSchemas(),x->x.SchemaId==udtBCol.TypeArgs.SchemaId); + assert udtBSchema!=null; + assert"udtB"==udtBSchema.getName(); + assert new SchemaId(3)==udtBSchema.getSchemaId().clone(); + + LayoutResolver resolver=new LayoutResolverNamespace(n1); + Layout udtLayout=resolver.Resolve(udtASchema.getSchemaId().clone()); + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + // Verify the udt doesn't yet exist. + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + RowCursor scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row,out scope).Find(tempRef_row2,udtACol.Path); + row=tempRef_row2.argValue; + row=tempRef_row.argValue; + tangible.RefObjecttempRef_row3=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope=new tangible.RefObject(scope); + tangible.OutObjecttempOut__=new tangible.OutObject(); + Result r=LayoutType.UDT.ReadScope(tempRef_row3,tempRef_scope,tempOut__); + _=tempOut__.argValue; + scope=tempRef_scope.argValue; + row=tempRef_row3.argValue; + ResultAssert.NotFound(r,tag); + tangible.RefObjecttempRef_row4=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope2=new tangible.RefObject(scope); + RowCursor udtScope1; + tangible.OutObjecttempOut_udtScope1= + new tangible.OutObject(); + r=LayoutType.UDT.WriteScope(tempRef_row4,tempRef_scope2,udtACol.TypeArgs,tempOut_udtScope1); + udtScope1=tempOut_udtScope1.argValue; + scope=tempRef_scope2.argValue; + row=tempRef_row4.argValue; + ResultAssert.IsSuccess(r,tag); + tangible.RefObjecttempRef_row5=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope3=new tangible.RefObject(scope); + RowCursor udtScope2; + tangible.OutObjecttempOut_udtScope2= + new tangible.OutObject(); + r=LayoutType.UDT.ReadScope(tempRef_row5,tempRef_scope3,tempOut_udtScope2); + udtScope2=tempOut_udtScope2.argValue; + scope=tempRef_scope3.argValue; + row=tempRef_row5.argValue; + ResultAssert.IsSuccess(r,tag); + Assert.AreSame(udtLayout,udtScope2.Layout,tag); + Assert.AreEqual(udtScope1.ScopeType,udtScope2.ScopeType,tag); + Assert.AreEqual(udtScope1.start,udtScope2.start,tag); + Assert.AreEqual(udtScope1.Immutable,udtScope2.Immutable,tag); + + // TODO: C# TO JAVA CONVERTER: There is no equivalent to implicit typing in Java unless the Java 10 inferred + // typing option is selected: + var expectedSchemas=new[]{new{Storage=StorageKind.Fixed,Path="a",FixedExpected=new RoundTripFixed.Expected(); + FixedExpected.Json="{ 'type': 'int8', 'storage': 'fixed' }"; + FixedExpected.Value=(byte)42; + + // TODO: C# TO JAVA CONVERTER: There is no equivalent to implicit typing in Java unless the Java 10 inferred + // typing option is selected: + for(var expected:expectedSchemas) + { + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=udtLayout.TryFind(expected.Path,out col); + Assert.IsTrue(found,"Path: {0}",expected.Path); + StorageKind storage=expected.Storage; + switch(storage) + { + case Fixed: + RoundTripFixed.Closure tempVar=new RoundTripFixed.Closure(); + tempVar.Col=col; + tempVar.Expected=expected.FixedExpected; + tangible.RefObjecttempRef_row6=new tangible.RefObject(row); + tangible.RefObjecttempRef_udtScope1= + new tangible.RefObject(udtScope1); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row6,tempRef_udtScope1, + tempVar.clone()); + udtScope1=tempRef_udtScope1.argValue; + row=tempRef_row6.argValue; + break; + case Variable: + RoundTripVariable.Closure tempVar2=new RoundTripVariable.Closure(); + tempVar2.Col=col; + tempVar2.Layout=layout; + tempVar2.Expected=expected.VariableExpected; + tangible.RefObjecttempRef_row7=new tangible.RefObject(row); + tangible.RefObjecttempRef_udtScope12= + new tangible.RefObject(udtScope1); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row7, + tempRef_udtScope12,tempVar2.clone()); + udtScope1=tempRef_udtScope12.argValue; + row=tempRef_row7.argValue; + break; + } + } + + tangible.RefObjecttempRef_row8=new tangible.RefObject(row); + tangible.RefObjecttempRef_row9=new tangible.RefObject(row); + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row8).AsReadOnly(out roRoot).Find(tempRef_row9,udtACol.Path); + row=tempRef_row9.argValue; + row=tempRef_row8.argValue; + tangible.RefObjecttempRef_row10=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot + // be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(udtACol.TypeAs().DeleteScope(tempRef_row10,ref roRoot)); + row=tempRef_row10.argValue; + tangible.RefObjecttempRef_row11=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot + // be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(udtACol.TypeAs().WriteScope(tempRef_row11,ref roRoot, + udtACol.TypeArgs,out udtScope2)); + row=tempRef_row11.argValue; + + // Overwrite the whole scope. + tangible.RefObjecttempRef_row12=new tangible.RefObject(row); + tangible.RefObjecttempRef_row13=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row12,out scope).Find(tempRef_row13,udtACol.Path); + row=tempRef_row13.argValue; + row=tempRef_row12.argValue; + tangible.RefObjecttempRef_row14=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope4=new tangible.RefObject(scope); + r=LayoutType.Null.WriteSparse(tempRef_row14,tempRef_scope4,NullValue.Default); + scope=tempRef_scope4.argValue; + row=tempRef_row14.argValue; + ResultAssert.IsSuccess(r,tag); + tangible.RefObjecttempRef_row15=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope5=new tangible.RefObject(scope); + RowCursor _; + tangible.OutObjecttempOut__2=new tangible.OutObject(); + r=LayoutType.UDT.ReadScope(tempRef_row15,tempRef_scope5,tempOut__2); + _=tempOut__2.argValue; + scope=tempRef_scope5.argValue; + row=tempRef_row15.argValue; + ResultAssert.TypeMismatch(r,tag); + tangible.RefObjecttempRef_row16=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope6=new tangible.RefObject(scope); + r=LayoutType.UDT.DeleteScope(tempRef_row16,tempRef_scope6); + scope=tempRef_scope6.argValue; + row=tempRef_row16.argValue; + ResultAssert.TypeMismatch(r,tag); + + // Overwrite it again, then delete it. + tangible.RefObjecttempRef_row17=new tangible.RefObject(row); + tangible.RefObjecttempRef_row18=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row17,out scope).Find(tempRef_row18,udtACol.Path); + row=tempRef_row18.argValue; + row=tempRef_row17.argValue; + tangible.RefObjecttempRef_row19=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope7=new tangible.RefObject(scope); + RowCursor _; + tangible.OutObjecttempOut__3=new tangible.OutObject(); + r=LayoutType.UDT.WriteScope(tempRef_row19,tempRef_scope7,udtACol.TypeArgs,tempOut__3); + _=tempOut__3.argValue; + scope=tempRef_scope7.argValue; + row=tempRef_row19.argValue; + ResultAssert.IsSuccess(r,tag); + tangible.RefObjecttempRef_row20=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope8=new tangible.RefObject(scope); + r=LayoutType.UDT.DeleteScope(tempRef_row20,tempRef_scope8); + scope=tempRef_scope8.argValue; + row=tempRef_row20.argValue; + ResultAssert.IsSuccess(r,tag); + tangible.RefObjecttempRef_row21=new tangible.RefObject(row); + tangible.RefObjecttempRef_row22=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row21,out scope).Find(tempRef_row22,udtACol.Path); + row=tempRef_row22.argValue; + row=tempRef_row21.argValue; + tangible.RefObjecttempRef_row23=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope9=new tangible.RefObject(scope); + RowCursor _; + tangible.OutObjecttempOut__4=new tangible.OutObject(); + r=LayoutType.UDT.ReadScope(tempRef_row23,tempRef_scope9,tempOut__4); + _=tempOut__4.argValue; + scope=tempRef_scope9.argValue; + row=tempRef_row23.argValue; + ResultAssert.NotFound(r,tag); + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObject() +public final void ParseSchemaSparseObject() + { + // Test all fixed column types. + RoundTripSparseObject.Expected tempVar=new RoundTripSparseObject.Expected(); + tempVar.Json="{'path': 'b', 'type': {'type': 'int8'}}"; + tempVar.Value=(byte)42; + RoundTripSparseObject.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObject.Expected[]{tempVar}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseObject.Expected expected:expectedSchemas) + { + String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", + expected.Json); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + objectColumnSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar2=new Namespace(); + tempVar2.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar2); + Layout layout=resolver.Resolve(new SchemaId(-1)); + Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); + LayoutColumn objCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out objCol); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=layout.TryFind("a.b",out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripSparseObject.Closure tempVar3=new RoundTripSparseObject.Closure(); + tempVar3.ObjCol=objCol; + tempVar3.Col=col; + tempVar3.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(col.Type.LayoutCode,tempRef_row2, + tempRef_root,tempVar3.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObjectMulti() +public final void ParseSchemaSparseObjectMulti() + { + // Test sparse object columns with various kinds of sparse column fields. + RoundTripSparseObjectMulti.Expected tempVar=new RoundTripSparseObjectMulti.Expected(); + tempVar.Json="{'path': 'b', 'type': {'type': 'int8'}}"; + RoundTripSparseObjectMulti.Property tempVar2=new RoundTripSparseObjectMulti.Property(); + tempVar2.setPath("a.b"); + tempVar2.Value=(byte)42; + tempVar.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar2}; + RoundTripSparseObjectMulti.Expected tempVar3=new RoundTripSparseObjectMulti.Expected(); + tempVar3.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'utf8'}}"; + RoundTripSparseObjectMulti.Property tempVar4=new RoundTripSparseObjectMulti.Property(); + tempVar4.setPath("a.b"); + tempVar4.Value=(byte)42; + RoundTripSparseObjectMulti.Property tempVar5=new RoundTripSparseObjectMulti.Property(); + tempVar5.setPath("a.c"); + tempVar5.Value="abc"; + tempVar3.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar4,tempVar5}; + RoundTripSparseObjectMulti.Expected tempVar6=new RoundTripSparseObjectMulti.Expected(); + tempVar6.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'bool'}}, {'path': 'd', " + + "'type': {'type': 'binary'}}, {'path': 'e', 'type': {'type': 'null'}}"; + RoundTripSparseObjectMulti.Property tempVar7=new RoundTripSparseObjectMulti.Property(); + tempVar7.setPath("a.b"); + tempVar7.Value=(byte)42; + RoundTripSparseObjectMulti.Property tempVar8=new RoundTripSparseObjectMulti.Property(); + tempVar8.setPath("a.c"); + tempVar8.Value=true; + RoundTripSparseObjectMulti.Property tempVar9=new RoundTripSparseObjectMulti.Property(); + tempVar9.setPath("a.d"); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar9.Value = new byte[] { 0x01, 0x02, 0x03 }; + tempVar9.Value=new byte[]{0x01,0x02,0x03}; + RoundTripSparseObjectMulti.Property tempVar10=new RoundTripSparseObjectMulti.Property(); + tempVar10.setPath("a.e"); + tempVar10.Value=NullValue.Default; + tempVar6.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar7,tempVar8,tempVar9,tempVar10}; + RoundTripSparseObjectMulti.Expected tempVar11=new RoundTripSparseObjectMulti.Expected(); + tempVar11.Json="{'path': 'b', 'type': {'type': 'object'}}"; + RoundTripSparseObjectMulti.Property tempVar12=new RoundTripSparseObjectMulti.Property(); + tempVar12.setPath("a.b"); + tempVar11.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Property[]{tempVar12}; + RoundTripSparseObjectMulti.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectMulti.Expected[]{tempVar,tempVar3,tempVar6,tempVar11}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseObjectMulti.Expected expected:expectedSchemas) + { + String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", + expected.Json); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + objectColumnSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar13=new Namespace(); + tempVar13.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar13); + Layout layout=resolver.Resolve(new SchemaId(-1)); + Assert.AreEqual(1,layout.getColumns().Length,"Json: {0}",expected.Json); + LayoutColumn objCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out objCol); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + // Verify the object doesn't exist. + LayoutObject objT=objCol.Type instanceof LayoutObject?(LayoutObject)objCol.Type:null; + assert objT!=null; + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.Create(tempRef_row,out field).Find(tempRef_row2,objCol.Path); + row=tempRef_row2.argValue; + row=tempRef_row.argValue; + tangible.RefObjecttempRef_row3=new tangible.RefObject(row); + tangible.RefObjecttempRef_field=new tangible.RefObject(field); + RowCursor scope; + tangible.OutObjecttempOut_scope=new tangible.OutObject(); + Result r=objT.ReadScope(tempRef_row3,tempRef_field,tempOut_scope); + scope=tempOut_scope.argValue; + field=tempRef_field.argValue; + row=tempRef_row3.argValue; + ResultAssert.NotFound(r,"Json: {0}",expected.Json); + + // Write the object and the nested column. + tangible.RefObjecttempRef_row4=new tangible.RefObject(row); + tangible.RefObjecttempRef_field2=new tangible.RefObject(field); + tangible.OutObjecttempOut_scope2=new tangible.OutObject(); + r=objT.WriteScope(tempRef_row4,tempRef_field2,objCol.TypeArgs,tempOut_scope2); + scope=tempOut_scope2.argValue; + field=tempRef_field2.argValue; + row=tempRef_row4.argValue; + ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); + + for(java.lang.Iterablepermutation:expected.Props.Permute()) + { + for(RoundTripSparseObjectMulti.Property prop:permutation) + { + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=layout.TryFind(prop.Path,out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); + + RoundTripSparseObjectMulti.Closure tempVar14=new RoundTripSparseObjectMulti.Closure(); + tempVar14.Col=col; + tempVar14.Prop=prop.clone(); + tempVar14.Expected=expected.clone(); + tangible.RefObjecttempRef_row5=new tangible.RefObject(row); + tangible.RefObjecttempRef_scope=new tangible.RefObject(scope); + this.LayoutCodeSwitch(col.Type.LayoutCode, + tempRef_row5,tempRef_scope,tempVar14.clone()); + scope=tempRef_scope.argValue; + row=tempRef_row5.argValue; + } + } + + // Write something after the scope. + UtfAnyString otherColumnPath="not-"+objCol.Path; + tangible.RefObjecttempRef_row6=new tangible.RefObject(row); + RowCursor otherColumn; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + field.Clone(out otherColumn).Find(tempRef_row6,otherColumnPath); + row=tempRef_row6.argValue; + tangible.RefObjecttempRef_row7=new tangible.RefObject(row); + tangible.RefObjecttempRef_otherColumn= + new tangible.RefObject(otherColumn); + r=LayoutType.Boolean.WriteSparse(tempRef_row7,tempRef_otherColumn,true); + otherColumn=tempRef_otherColumn.argValue; + row=tempRef_row7.argValue; + ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); + + // Overwrite the whole scope. + tangible.RefObjecttempRef_row8=new tangible.RefObject(row); + tangible.RefObjecttempRef_field3=new tangible.RefObject(field); + r=LayoutType.Null.WriteSparse(tempRef_row8,tempRef_field3,NullValue.Default); + field=tempRef_field3.argValue; + row=tempRef_row8.argValue; + ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); + tangible.RefObjecttempRef_row9=new tangible.RefObject(row); + tangible.RefObjecttempRef_field4=new tangible.RefObject(field); + RowCursor _; + tangible.OutObjecttempOut__=new tangible.OutObject(); + r=objT.ReadScope(tempRef_row9,tempRef_field4,tempOut__); + _=tempOut__.argValue; + field=tempRef_field4.argValue; + row=tempRef_row9.argValue; + ResultAssert.TypeMismatch(r,"Json: {0}",expected.Json); + + // Read the thing after the scope and verify it is still there. + tangible.RefObjecttempRef_row10=new tangible.RefObject(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + field.Clone(out otherColumn).Find(tempRef_row10,otherColumnPath); + row=tempRef_row10.argValue; + tangible.RefObjecttempRef_row11=new tangible.RefObject(row); + tangible.RefObjecttempRef_otherColumn2= + new tangible.RefObject(otherColumn); + boolean notScope; + tangible.OutObject tempOut_notScope=new tangible.OutObject(); + r=LayoutType.Boolean.ReadSparse(tempRef_row11,tempRef_otherColumn2,tempOut_notScope); + notScope=tempOut_notScope.argValue; + otherColumn=tempRef_otherColumn2.argValue; + row=tempRef_row11.argValue; + ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); + assert notScope; + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseObjectNested() +public final void ParseSchemaSparseObjectNested() + { + // Test nested sparse object columns with various kinds of sparse column fields. + RoundTripSparseObjectNested.Expected tempVar=new RoundTripSparseObjectNested.Expected(); + tempVar.Json="{'path': 'c', 'type': {'type': 'int8'}}"; + RoundTripSparseObjectNested.Property tempVar2=new RoundTripSparseObjectNested.Property(); + tempVar2.setPath("a.b.c"); + tempVar2.Value=(byte)42; + tempVar.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar2}; + RoundTripSparseObjectNested.Expected tempVar3=new RoundTripSparseObjectNested.Expected(); + tempVar3.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'utf8'}}"; + RoundTripSparseObjectNested.Property tempVar4=new RoundTripSparseObjectNested.Property(); + tempVar4.setPath("a.b.b"); + tempVar4.Value=(byte)42; + RoundTripSparseObjectNested.Property tempVar5=new RoundTripSparseObjectNested.Property(); + tempVar5.setPath("a.b.c"); + tempVar5.Value="abc"; + tempVar3.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar4,tempVar5}; + RoundTripSparseObjectNested.Expected tempVar6=new RoundTripSparseObjectNested.Expected(); + tempVar6.Json="{'path': 'b', 'type': {'type': 'int8'}}, {'path': 'c', 'type': {'type': 'bool'}}, {'path': 'd', " + + "'type': {'type': 'binary'}}, {'path': 'e', 'type': {'type': 'null'}}"; + RoundTripSparseObjectNested.Property tempVar7=new RoundTripSparseObjectNested.Property(); + tempVar7.setPath("a.b.b"); + tempVar7.Value=(byte)42; + RoundTripSparseObjectNested.Property tempVar8=new RoundTripSparseObjectNested.Property(); + tempVar8.setPath("a.b.c"); + tempVar8.Value=true; + RoundTripSparseObjectNested.Property tempVar9=new RoundTripSparseObjectNested.Property(); + tempVar9.setPath("a.b.d"); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar9.Value = new byte[] { 0x01, 0x02, 0x03 }; + tempVar9.Value=new byte[]{0x01,0x02,0x03}; + RoundTripSparseObjectNested.Property tempVar10=new RoundTripSparseObjectNested.Property(); + tempVar10.setPath("a.b.e"); + tempVar10.Value=NullValue.Default; + tempVar6.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar7,tempVar8,tempVar9,tempVar10}; + RoundTripSparseObjectNested.Expected tempVar11=new RoundTripSparseObjectNested.Expected(); + tempVar11.Json="{'path': 'b', 'type': {'type': 'object'}}"; + RoundTripSparseObjectNested.Property tempVar12=new RoundTripSparseObjectNested.Property(); + tempVar12.setPath("a.b.b"); + tempVar11.Props= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Property[]{tempVar12}; + RoundTripSparseObjectNested.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseObjectNested.Expected[]{tempVar,tempVar3,tempVar6,tempVar11}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseObjectNested.Expected expected:expectedSchemas) + { + String nestedColumnSchema=String.format("{'path': 'b', 'type': {'type': 'object', 'properties': [%1$s] } }", + expected.Json); + String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } }", + nestedColumnSchema); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + objectColumnSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar13=new Namespace(); + tempVar13.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar13); + Layout layout=resolver.Resolve(new SchemaId(-1)); + LayoutColumn objCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out objCol); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,objCol.Storage,"Json: {0}",expected.Json); + LayoutColumn objCol2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=layout.TryFind("a.b",out objCol2); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,objCol2.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + // Write the object. + LayoutObject objT=objCol.Type instanceof LayoutObject?(LayoutObject)objCol.Type:null; + assert objT!=null; + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out field).Find(tempRef_row2,objCol.Path); + row=tempRef_row2.argValue; + tangible.RefObjecttempRef_row3=new tangible.RefObject(row); + tangible.RefObjecttempRef_field=new tangible.RefObject(field); + RowCursor _; + tangible.OutObjecttempOut__=new tangible.OutObject(); + Result r=objT.WriteScope(tempRef_row3,tempRef_field,objCol.TypeArgs,tempOut__); + _=tempOut__.argValue; + field=tempRef_field.argValue; + row=tempRef_row3.argValue; + ResultAssert.IsSuccess(r,"Json: {0}",expected.Json); + + for(java.lang.Iterablepermutation:expected.Props.Permute()) + { + for(RoundTripSparseObjectNested.Property prop:permutation) + { + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + found=layout.TryFind(prop.Path,out col); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,col.Storage,"Json: {0}",expected.Json); + + RoundTripSparseObjectNested.Closure tempVar14=new RoundTripSparseObjectNested.Closure(); + tempVar14.Col=col; + tempVar14.Prop=prop.clone(); + tempVar14.Expected=expected.clone(); + tangible.RefObjecttempRef_row4=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(col.Type.LayoutCode, + tempRef_row4,tempRef_root,tempVar14.clone()); + root=tempRef_root.argValue; + row=tempRef_row4.argValue; + } + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaSparseArray() +public final void ParseSchemaSparseArray() + { + // Test all fixed column types. + RoundTripSparseArray.Expected tempVar=new RoundTripSparseArray.Expected(); + tempVar.Json="array[null]"; + tempVar.Type=LayoutType.Null; + tempVar.Value=new ArrayList(Arrays.asList(NullValue.Default,NullValue.Default,NullValue.Default)); + RoundTripSparseArray.Expected tempVar2=new RoundTripSparseArray.Expected(); + tempVar2.Json="array[bool]"; + tempVar2.Type=LayoutType.Boolean; + tempVar2.Value=new ArrayList(Arrays.asList(true,false,true)); + RoundTripSparseArray.Expected tempVar3=new RoundTripSparseArray.Expected(); + tempVar3.Json="array[int8]"; + tempVar3.Type=LayoutType.Int8; + tempVar3.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); + RoundTripSparseArray.Expected tempVar4=new RoundTripSparseArray.Expected(); + tempVar4.Json="array[int16]"; + tempVar4.Type=LayoutType.Int16; + tempVar4.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); + RoundTripSparseArray.Expected tempVar5=new RoundTripSparseArray.Expected(); + tempVar5.Json="array[int32]"; + tempVar5.Type=LayoutType.Int32; + tempVar5.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseArray.Expected tempVar6=new RoundTripSparseArray.Expected(); + tempVar6.Json="array[int64]"; + tempVar6.Type=LayoutType.Int64; + tempVar6.Value=new ArrayList(Arrays.asList(42L,43L,44L)); + RoundTripSparseArray.Expected tempVar7=new RoundTripSparseArray.Expected(); + tempVar7.Json="array[uint8]"; + tempVar7.Type=LayoutType.UInt8; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar7.Value = new List { (byte)42, (byte)43, (byte)44 }; + tempVar7.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); + RoundTripSparseArray.Expected tempVar8=new RoundTripSparseArray.Expected(); + tempVar8.Json="array[uint16]"; + tempVar8.Type=LayoutType.UInt16; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar8.Value = new List { (ushort)42, (ushort)43, (ushort)44 }; + tempVar8.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); + RoundTripSparseArray.Expected tempVar9=new RoundTripSparseArray.Expected(); + tempVar9.Json="array[uint32]"; + tempVar9.Type=LayoutType.UInt32; + tempVar9.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseArray.Expected tempVar10=new RoundTripSparseArray.Expected(); + tempVar10.Json="array[uint64]"; + tempVar10.Type=LayoutType.UInt64; + tempVar10.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseArray.Expected tempVar11=new RoundTripSparseArray.Expected(); + tempVar11.Json="array[varint]"; + tempVar11.Type=LayoutType.VarInt; + tempVar11.Value=new ArrayList(Arrays.asList(42L,43L,44L)); + RoundTripSparseArray.Expected tempVar12=new RoundTripSparseArray.Expected(); + tempVar12.Json="array[varuint]"; + tempVar12.Type=LayoutType.VarUInt; + tempVar12.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseArray.Expected tempVar13=new RoundTripSparseArray.Expected(); + tempVar13.Json="array[float32]"; + tempVar13.Type=LayoutType.Float32; + tempVar13.Value=new ArrayList(Arrays.asList(4.2F,4.3F,4.4F)); + RoundTripSparseArray.Expected tempVar14=new RoundTripSparseArray.Expected(); + tempVar14.Json="array[float64]"; + tempVar14.Type=LayoutType.Float64; + tempVar14.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); + RoundTripSparseArray.Expected tempVar15=new RoundTripSparseArray.Expected(); + tempVar15.Json="array[float128]"; + tempVar15.Type=LayoutType.Float128; + tempVar15.Value=new ArrayList(Arrays.asList(new Float128(0,42),new Float128(0,43),new Float128(0,44))); + RoundTripSparseArray.Expected tempVar16=new RoundTripSparseArray.Expected(); + tempVar16.Json="array[decimal]"; + tempVar16.Type=LayoutType.Decimal; + tempVar16.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); + RoundTripSparseArray.Expected tempVar17=new RoundTripSparseArray.Expected(); + tempVar17.Json="array[datetime]"; + tempVar17.Type=LayoutType.DateTime; + tempVar17.Value=new ArrayList(Arrays.asList(LocalDateTime.UtcNow,LocalDateTime.UtcNow.AddTicks(1), + LocalDateTime.UtcNow.AddTicks(2))); + RoundTripSparseArray.Expected tempVar18=new RoundTripSparseArray.Expected(); + tempVar18.Json="array[unixdatetime]"; + tempVar18.Type=LayoutType.UnixDateTime; + tempVar18.Value=new ArrayList(Arrays.asList(new UnixDateTime(1),new UnixDateTime(2),new UnixDateTime(3))); + RoundTripSparseArray.Expected tempVar19=new RoundTripSparseArray.Expected(); + tempVar19.Json="array[guid]"; + tempVar19.Type=LayoutType.Guid; + tempVar19.Value=new ArrayList(Arrays.asList(UUID.NewGuid(),UUID.NewGuid(),UUID.NewGuid())); + RoundTripSparseArray.Expected tempVar20=new RoundTripSparseArray.Expected(); + tempVar20.Json="array[mongodbobjectid]"; + tempVar20.Type=LayoutType.MongoDbObjectId; + tempVar20.Value=new ArrayList(Arrays.asList(new MongoDbObjectId(0,1),new MongoDbObjectId(0,2), + new MongoDbObjectId(0,3))); + RoundTripSparseArray.Expected tempVar21=new RoundTripSparseArray.Expected(); + tempVar21.Json="array[utf8]"; + tempVar21.Type=LayoutType.Utf8; + tempVar21.Value=new ArrayList(Arrays.asList("abc","def","xyz")); + RoundTripSparseArray.Expected tempVar22=new RoundTripSparseArray.Expected(); + tempVar22.Json="array[binary]"; + tempVar22.Type=LayoutType.Binary; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar22.Value = new List { new byte[] { 0x01, 0x02 }, new byte[] { 0x03, 0x04 }, new + // byte[] { 0x05, 0x06 } }; + tempVar22.Value=new ArrayList(Arrays.asList(new Byte[]{0x01,0x02},new byte[]{0x03,0x04},new byte[]{0x05, + 0x06})); + RoundTripSparseArray.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseArray.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19,tempVar20,tempVar21,tempVar22}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseArray.Expected expected:expectedSchemas) + { + for(java.lang.Class arrT:new java.lang.Class[]{LayoutTypedArray.class,LayoutArray.class}) + { + String arrayColumnSchema="{'path': 'a', 'type': {'type': 'array', 'items': {'type': 'any'}} }"; + if(arrT==LayoutTypedArray.class) + { + arrayColumnSchema=String.format("{'path': 'a', 'type': {'type': 'array',"+"\r\n"+ + " 'items': {'type': '%1$s', 'nullable': " + + "false }} }",expected.Type.getName()); + } + + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + arrayColumnSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar23=new Namespace(); + tempVar23.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar23); + Layout layout=resolver.Resolve(new SchemaId(-1)); + LayoutColumn arrCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out arrCol); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,arrCol.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripSparseArray.Closure tempVar24=new RoundTripSparseArray.Closure(); + tempVar24.ArrCol=arrCol; + tempVar24.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(expected.Type.LayoutCode,tempRef_row2, + tempRef_root,tempVar24.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1139", +// Justification = "Need to control the binary ordering.")] public void ParseSchemaSparseSet() +public final void ParseSchemaSparseSet() + { + // Test all fixed column types. + RoundTripSparseSet.Expected tempVar=new RoundTripSparseSet.Expected(); + tempVar.Json="set[null]"; + tempVar.Type=LayoutType.Null; + tempVar.Value=new ArrayList(Arrays.asList(NullValue.Default)); + RoundTripSparseSet.Expected tempVar2=new RoundTripSparseSet.Expected(); + tempVar2.Json="set[bool]"; + tempVar2.Type=LayoutType.Boolean; + tempVar2.Value=new ArrayList(Arrays.asList(false,true)); + RoundTripSparseSet.Expected tempVar3=new RoundTripSparseSet.Expected(); + tempVar3.Json="set[int8]"; + tempVar3.Type=LayoutType.Int8; + tempVar3.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); + RoundTripSparseSet.Expected tempVar4=new RoundTripSparseSet.Expected(); + tempVar4.Json="set[int16]"; + tempVar4.Type=LayoutType.Int16; + tempVar4.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); + RoundTripSparseSet.Expected tempVar5=new RoundTripSparseSet.Expected(); + tempVar5.Json="set[int32]"; + tempVar5.Type=LayoutType.Int32; + tempVar5.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseSet.Expected tempVar6=new RoundTripSparseSet.Expected(); + tempVar6.Json="set[int64]"; + tempVar6.Type=LayoutType.Int64; + tempVar6.Value=new ArrayList(Arrays.asList(42L,43L,44L)); + RoundTripSparseSet.Expected tempVar7=new RoundTripSparseSet.Expected(); + tempVar7.Json="set[uint8]"; + tempVar7.Type=LayoutType.UInt8; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar7.Value = new List { (byte)42, (byte)43, (byte)44 }; + tempVar7.Value=new ArrayList(Arrays.asList((byte)42,(byte)43,(byte)44)); + RoundTripSparseSet.Expected tempVar8=new RoundTripSparseSet.Expected(); + tempVar8.Json="set[uint16]"; + tempVar8.Type=LayoutType.UInt16; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar8.Value = new List { (ushort)42, (ushort)43, (ushort)44 }; + tempVar8.Value=new ArrayList(Arrays.asList((short)42,(short)43,(short)44)); + RoundTripSparseSet.Expected tempVar9=new RoundTripSparseSet.Expected(); + tempVar9.Json="set[uint32]"; + tempVar9.Type=LayoutType.UInt32; + tempVar9.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseSet.Expected tempVar10=new RoundTripSparseSet.Expected(); + tempVar10.Json="set[uint64]"; + tempVar10.Type=LayoutType.UInt64; + tempVar10.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseSet.Expected tempVar11=new RoundTripSparseSet.Expected(); + tempVar11.Json="set[varint]"; + tempVar11.Type=LayoutType.VarInt; + tempVar11.Value=new ArrayList(Arrays.asList(42L,43L,44L)); + RoundTripSparseSet.Expected tempVar12=new RoundTripSparseSet.Expected(); + tempVar12.Json="set[varuint]"; + tempVar12.Type=LayoutType.VarUInt; + tempVar12.Value=new ArrayList(Arrays.asList(42,43,44)); + RoundTripSparseSet.Expected tempVar13=new RoundTripSparseSet.Expected(); + tempVar13.Json="set[float32]"; + tempVar13.Type=LayoutType.Float32; + tempVar13.Value=new ArrayList(Arrays.asList(4.2F,4.3F,4.4F)); + RoundTripSparseSet.Expected tempVar14=new RoundTripSparseSet.Expected(); + tempVar14.Json="set[float64]"; + tempVar14.Type=LayoutType.Float64; + tempVar14.Value=new ArrayList(Arrays.asList((double)0xAAAAAAAAAAAAAAAA,(double)0xBBBBBBBBBBBBBBBB, + (double)0xCCCCCCCCCCCCCCCC)); + RoundTripSparseSet.Expected tempVar15=new RoundTripSparseSet.Expected(); + tempVar15.Json="set[decimal]"; + tempVar15.Type=LayoutType.Decimal; + tempVar15.Value=new ArrayList(Arrays.asList(4.2,4.3,4.4)); + RoundTripSparseSet.Expected tempVar16=new RoundTripSparseSet.Expected(); + tempVar16.Json="set[datetime]"; + tempVar16.Type=LayoutType.DateTime; + tempVar16.Value=new ArrayList(Arrays.asList(LocalDateTime.of(1,DateTimeKind.Unspecified), + LocalDateTime.of(2,DateTimeKind.Unspecified),LocalDateTime.of(3,DateTimeKind.Unspecified))); + RoundTripSparseSet.Expected tempVar17=new RoundTripSparseSet.Expected(); + tempVar17.Json="set[guid]"; + tempVar17.Type=LayoutType.Guid; + tempVar17.Value=new ArrayList(Arrays.asList(UUID.fromString("AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA"), + UUID.fromString("BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB"),UUID.fromString("CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC"))); + RoundTripSparseSet.Expected tempVar18=new RoundTripSparseSet.Expected(); + tempVar18.Json="set[utf8]"; + tempVar18.Type=LayoutType.Utf8; + tempVar18.Value=new ArrayList(Arrays.asList("abc","def","xyz")); + RoundTripSparseSet.Expected tempVar19=new RoundTripSparseSet.Expected(); + tempVar19.Json="set[binary]"; + tempVar19.Type=LayoutType.Binary; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar19.Value = new List { new byte[] { 0x01, 0x02 }, new byte[] { 0x03, 0x04 }, new + // byte[] { 0x05, 0x06 } }; + tempVar19.Value=new ArrayList(Arrays.asList(new Byte[]{0x01,0x02},new byte[]{0x03,0x04},new byte[]{0x05, + 0x06})); + RoundTripSparseSet.Expected[]expectedSchemas= + new azure.data.cosmos.serialization.hybridrow.unit.layoutcompilerunittests.RoundTripSparseSet.Expected[]{tempVar,tempVar2,tempVar3,tempVar4,tempVar5,tempVar6,tempVar7,tempVar8,tempVar9,tempVar10,tempVar11,tempVar12,tempVar13,tempVar14,tempVar15,tempVar16,tempVar17,tempVar18,tempVar19}; + + RowBuffer row=new RowBuffer(LayoutCompilerUnitTests.InitialRowSize); + for(RoundTripSparseSet.Expected expected:expectedSchemas) + { + for(java.lang.Class setT:new java.lang.Class[]{LayoutTypedSet.class}) + { + String setColumnSchema="{'path': 'a', 'type': {'type': 'set', 'items': {'type': 'any'}} }"; + if(setT==LayoutTypedSet.class) + { + setColumnSchema=String.format("{'path': 'a', 'type': {'type': 'set', "+"\r\n"+ + " 'items': {'type': '%1$s', 'nullable': " + + "false }} }",expected.Type.getName()); + } + + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + setColumnSchema); + Schema s=Schema.Parse(tableSchema); + Namespace tempVar20=new Namespace(); + tempVar20.setSchemas(new ArrayList(Arrays.asList(s))); + LayoutResolverNamespace resolver=new LayoutResolverNamespace(tempVar20); + Layout layout=resolver.Resolve(new SchemaId(-1)); + LayoutColumn setCol; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found=layout.TryFind("a",out setCol); + Assert.IsTrue(found,"Json: {0}",expected.Json); + Assert.AreEqual(StorageKind.Sparse,setCol.Storage,"Json: {0}",expected.Json); + + // Try writing a row using the layout. + row.Reset(); + row.InitLayout(HybridRowVersion.V1,layout,resolver); + + HybridRowHeader header=row.getHeader().clone(); + assert HybridRowVersion.V1==header.getVersion(); + assert layout.getSchemaId().clone()==header.getSchemaId().clone(); + + tangible.RefObjecttempRef_row=new tangible.RefObject(row); + RowCursor root=RowCursor.Create(tempRef_row); + row=tempRef_row.argValue; + RoundTripSparseSet.Closure tempVar21=new RoundTripSparseSet.Closure(); + tempVar21.SetCol=setCol; + tempVar21.Expected=expected.clone(); + tangible.RefObjecttempRef_row2=new tangible.RefObject(row); + tangible.RefObjecttempRef_root=new tangible.RefObject(root); + this.LayoutCodeSwitch(expected.Type.LayoutCode,tempRef_row2, + tempRef_root,tempVar21.clone()); + root=tempRef_root.argValue; + row=tempRef_row2.argValue; + } + } + } + +/** + * Ensure that a parent scope exists in the row. + * + * @param row The row to create the desired scope. + * @param root The root scope. + * @param col The scope to create. + * @param tag A string to tag errors with. + * @return The enclosing scope. + */ +private static RowCursor EnsureScope(tangible.RefObject row,tangible.RefObject root, + LayoutColumn col,String tag) + { + if(col==null) + { + return root.argValue.clone(); + } + + RowCursor parentScope=LayoutCompilerUnitTests.EnsureScope(row,root,col.getParent(),tag); + + azure.data.cosmos.serialization.hybridrow.layouts.LayoutType tempVar=col.getType(); + LayoutObject pT=tempVar instanceof LayoutObject?(LayoutObject)tempVar:null; + assert pT!=null; + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot + // be converted using the 'Out' helper class unless the method is within the code being modified: + parentScope.Clone(out field).Find(row,col.getPath()); + tangible.RefObjecttempRef_field=new tangible.RefObject(field); + RowCursor scope; + tangible.OutObjecttempOut_scope=new tangible.OutObject(); + Result r=pT.ReadScope(row,tempRef_field,tempOut_scope); + scope=tempOut_scope.argValue; + field=tempRef_field.argValue; + if(r==Result.NotFound) + { + tangible.RefObjecttempRef_field2=new tangible.RefObject(field); + tangible.OutObjecttempOut_scope2=new tangible.OutObject(); + r=pT.WriteScope(row,tempRef_field2,col.getTypeArgs().clone(),tempOut_scope2); + scope=tempOut_scope2.argValue; + field=tempRef_field2.argValue; + } + + ResultAssert.IsSuccess(r,tag); + return scope; + } + +// TODO: C# TO JAVA CONVERTER: The C# 'new()' constraint has no equivalent in Java: +//ORIGINAL LINE: private void LayoutCodeSwitch(LayoutCode code, ref RowBuffer row, ref +// RowCursor scope, TClosure closure) where TDispatcher : TestActionDispatcher, new() +private, TClosure> void LayoutCodeSwitch(LayoutCode code, + tangible.RefObject row,tangible.RefObject scope,TClosure closure) + { + TDispatcher dispatcher=new TDispatcher(); + switch(code) + { + case Null: + dispatcher.Dispatch(row,scope,closure); + break; + case Boolean: + dispatcher.Dispatch(row,scope,closure); + break; + case Int8: + dispatcher.Dispatch(row,scope,closure); + break; + case Int16: + dispatcher.Dispatch(row,scope,closure); + break; + case Int32: + dispatcher.Dispatch(row,scope,closure); + break; + case Int64: + dispatcher.Dispatch(row,scope,closure); + break; + case UInt8: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case UInt16: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case UInt32: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case UInt64: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case VarInt: + dispatcher.Dispatch(row,scope,closure); + break; + case VarUInt: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case Float32: + dispatcher.Dispatch(row,scope,closure); + break; + case Float64: + dispatcher.Dispatch(row,scope,closure); + break; + case Float128: + dispatcher.Dispatch(row,scope,closure); + break; + case Decimal: + dispatcher.Dispatch(row,scope,closure); + break; + case DateTime: + dispatcher.Dispatch(row,scope,closure); + break; + case UnixDateTime: + dispatcher.Dispatch(row,scope,closure); + break; + case Guid: + dispatcher.Dispatch(row,scope,closure); + break; + case MongoDbObjectId: + dispatcher.Dispatch(row,scope,closure); + break; + case Utf8: + dispatcher.Dispatch(row,scope,closure); + break; + case Binary: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: dispatcher.Dispatch(ref row, ref scope, closure); + dispatcher.Dispatch(row,scope,closure); + break; + case ObjectScope: + dispatcher.DispatchObject(row,scope,closure); + break; +default: + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s",code)); + break; + } + } + +private final static class RoundTripFixed extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn col = closure.Col; + Expected expected = closure.Expected.clone(); + Result r; + TValue value; + + System.out.printf("%1$s" + "\r\n", expected.Json); + TLayout t = (TLayout)col.type(); + if (LayoutBit.opNotEquals(col.getNullBit().clone(), + LayoutBit.INVALID)) { + Out tempOut_value = new Out(); + r = t.ReadFixed(row, root, col, tempOut_value); + value = tempOut_value.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } else { + Out tempOut_value2 = new Out(); + r = t.ReadFixed(row, root, col, tempOut_value2); + value = tempOut_value2.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + boolean tempVar = expected.Default instanceof Array; + Array defaultArray = tempVar ? (Array)expected.Default : null; + if (tempVar) { + CollectionAssert.AreEqual(defaultArray, (Collection)value, "Json: {0}", expected.Json); + } else { + Assert.AreEqual(expected.Default, value, "Json: {0}", expected.Json); + } + } + + r = t.WriteFixed(row, root, col, (TValue)expected.Value); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Out tempOut_value3 = new Out(); + r = t.ReadFixed(row, root, col, tempOut_value3); + value = tempOut_value3.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + boolean tempVar2 = expected.Value instanceof Array; + Array array = tempVar2 ? (Array)expected.Value : null; + if (tempVar2) { + CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); + } else { + Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); + } + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(t.WriteFixed(row, ref roRoot, col, (TValue)expected.Value)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(t.DeleteFixed(row, ref roRoot, col)); + + if (LayoutBit.opNotEquals(col.getNullBit().clone(), + LayoutBit.INVALID)) { + ResultAssert.IsSuccess(t.DeleteFixed(row, root, col)); + } else { + ResultAssert.TypeMismatch(t.DeleteFixed(row, root, col)); + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Col = this.Col; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public Object Default; + public String Json; + public int Length; + public String TypeName; + public Object Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.TypeName = this.TypeName; + varCopy.Json = this.Json; + varCopy.Value = this.Value; + varCopy.Default = this.Default; + varCopy.Length = this.Length; + + return varCopy; + } + } +} + +private final static class RoundTripSparseArray extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn arrCol = closure.ArrCol; + LayoutType tempVar = arrCol.type(); + LayoutIndexedScope arrT = tempVar instanceof LayoutIndexedScope ? (LayoutIndexedScope)tempVar : null; + Expected expected = closure.Expected.clone(); + String tag = String.format("Json: %1$s, Array: %2$s", expected.Json, arrCol.type().getName()); + + System.out.println(tag); + Assert.IsNotNull(arrT, tag); + + TLayout t = (TLayout)expected.Type; + + // Verify the array doesn't yet exist. + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out field).Find(row, arrCol.path()); + Reference tempReference_field = + new Reference(field); + RowCursor scope; + Out tempOut_scope = + new Out(); + Result r = arrT.ReadScope(row, tempReference_field, tempOut_scope); + scope = tempOut_scope.get(); + field = tempReference_field.get(); + ResultAssert.NotFound(r, tag); + + // Write the array. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = arrT.WriteScope(row, ref field, arrCol.typeArgs().clone(), out scope); + ResultAssert.IsSuccess(r, tag); + + // Verify the nested field doesn't yet appear within the new scope. + assert !scope.MoveNext(row); + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref scope, out value); + ResultAssert.NotFound(r, tag); + + // Write the nested fields. + RowCursor elm; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope.Clone(out elm); + for (Object item : expected.Value) { + // Write the ith index. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.WriteSparse(row, ref elm, (TValue)item); + ResultAssert.IsSuccess(r, tag); + + // Move cursor to the ith+1 index. + assert !elm.MoveNext(row); + } + + // Read the array and the nested column, validate the nested column has the proper value. + Reference tempReference_field2 = + new Reference(field); + RowCursor scope2; + Out tempOut_scope2 = + new Out(); + r = arrT.ReadScope(row, tempReference_field2, tempOut_scope2); + scope2 = tempOut_scope2.get(); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, tag); + Assert.AreEqual(scope.ScopeType, scope2.ScopeType, tag); + Assert.AreEqual(scope.start(), scope2.start(), tag); + Assert.AreEqual(scope.Immutable, scope2.Immutable, tag); + + // Read the nested fields + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope2.Clone(out elm); + for (Object item : expected.Value) { + assert elm.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref elm, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar2 = item instanceof Array; + Array array = tempVar2 ? (Array)item : null; + if (tempVar2) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual((TValue)item, value, tag); + } + } + + // Delete an item. + int indexToDelete = 1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert scope2.Clone(out elm).MoveTo(row, indexToDelete); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.DeleteSparse(row, ref elm); + ResultAssert.IsSuccess(r, tag); + ArrayList remainingValues = new ArrayList(expected.Value); + remainingValues.remove(indexToDelete); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope2.Clone(out elm); + for (Object item : remainingValues) { + assert elm.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref elm, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar3 = item instanceof Array; + Array array = tempVar3 ? (Array)item : null; + if (tempVar3) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(item, value, tag); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert !scope2.Clone(out elm).MoveTo(row, remainingValues.size()); + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot).Find(row, arrCol.path()); + Reference tempReference_roRoot = + new Reference(roRoot); + ResultAssert.InsufficientPermissions(arrT.DeleteScope(row, tempReference_roRoot)); + roRoot = tempReference_roRoot.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(arrT.WriteScope(row, ref roRoot, arrCol.typeArgs().clone(), + out scope2)); + + // Overwrite the whole scope. + Reference tempReference_field3 = + new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field3, NullValue.DEFAULT); + field = tempReference_field3.get(); + ResultAssert.IsSuccess(r, tag); + Reference tempReference_field4 = + new Reference(field); + RowCursor _; + Out tempOut__ = + new Out(); + r = arrT.ReadScope(row, tempReference_field4, tempOut__); + _ = tempOut__.get(); + field = tempReference_field4.get(); + ResultAssert.TypeMismatch(r, tag); + Reference tempReference_field5 = + new Reference(field); + r = arrT.DeleteScope(row, tempReference_field5); + field = tempReference_field5.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + + // Overwrite it again, then delete it. + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = arrT.WriteScope(row, ref field, arrCol.typeArgs().clone(), out _, UpdateOptions.Update); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field6 = + new Reference(field); + r = arrT.DeleteScope(row, tempReference_field6); + field = tempReference_field6.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field7 = + new Reference(field); + RowCursor _; + Out tempOut__2 = + new Out(); + r = arrT.ReadScope(row, tempReference_field7, tempOut__2); + _ = tempOut__2.get(); + field = tempReference_field7.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn ArrCol; + public Expected Expected = new Expected(); + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.ArrCol = this.ArrCol; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public LayoutType Type; + public ArrayList Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Type = this.Type; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseObject extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn objCol = closure.ObjCol; + LayoutType tempVar = objCol.type(); + LayoutObject objT = tempVar instanceof LayoutObject ? (LayoutObject)tempVar : null; + LayoutColumn col = closure.Col; + Expected expected = closure.Expected.clone(); + + System.out.printf("%1$s" + "\r\n", col.type().getName()); + Assert.IsNotNull(objT, "Json: {0}", expected.Json); + Assert.AreEqual(objCol, col.parent(), "Json: {0}", expected.Json); + + TLayout t = (TLayout)col.type(); + + // Attempt to read the object and the nested column. + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out field).Find(row, objCol.path()); + Reference tempReference_field = + new Reference(field); + RowCursor scope; + Out tempOut_scope = + new Out(); + Result r = objT.ReadScope(row, tempReference_field, tempOut_scope); + scope = tempOut_scope.get(); + field = tempReference_field.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + + // Write the object and the nested column. + Reference tempReference_field2 = + new Reference(field); + Out tempOut_scope2 = + new Out(); + r = objT.WriteScope(row, tempReference_field2, objCol.typeArgs().clone(), tempOut_scope2); + scope = tempOut_scope2.get(); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + + // Verify the nested field doesn't yet appear within the new scope. + RowCursor nestedField; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope.Clone(out nestedField).Find(row, col.path()); + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref nestedField, out value); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + + // Write the nested field. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref nestedField, (TValue)expected.Value); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + + // Read the object and the nested column, validate the nested column has the proper value. + Reference tempReference_field3 = + new Reference(field); + RowCursor scope2; + Out tempOut_scope2 = + new Out(); + r = objT.ReadScope(row, tempReference_field3, tempOut_scope2); + scope2 = tempOut_scope2.get(); + field = tempReference_field3.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Assert.AreEqual(scope.ScopeType, scope2.ScopeType, "Json: {0}", expected.Json); + Assert.AreEqual(scope.start(), scope2.start(), "Json: {0}", expected.Json); + Assert.AreEqual(scope.Immutable, scope2.Immutable, "Json: {0}", expected.Json); + + // Read the nested field + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope2.Clone(out nestedField).Find(row, col.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref nestedField, out value); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + boolean tempVar2 = expected.Value instanceof Array; + Array array = tempVar2 ? (Array)expected.Value : null; + if (tempVar2) { + CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); + } else { + Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); + } + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot).Find(row, objCol.path()); + Reference tempReference_roRoot = + new Reference(roRoot); + ResultAssert.InsufficientPermissions(objT.DeleteScope(row, tempReference_roRoot)); + roRoot = tempReference_roRoot.get(); + Reference tempReference_roRoot2 = + new Reference(roRoot); + Out tempOut_scope22 = + new Out(); + ResultAssert.InsufficientPermissions(objT.WriteScope(row, tempReference_roRoot2, objCol.typeArgs().clone(), + tempOut_scope22)); + scope2 = tempOut_scope22.get(); + roRoot = tempReference_roRoot2.get(); + + // Overwrite the whole scope. + Reference tempReference_field4 = + new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field4, NullValue.DEFAULT); + field = tempReference_field4.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field5 = + new Reference(field); + RowCursor _; + Out tempOut__ = + new Out(); + r = objT.ReadScope(row, tempReference_field5, tempOut__); + _ = tempOut__.get(); + field = tempReference_field5.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + Reference tempReference_field6 = + new Reference(field); + r = objT.DeleteScope(row, tempReference_field6); + field = tempReference_field6.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + + // Overwrite it again, then delete it. + Reference tempReference_field7 = + new Reference(field); + RowCursor _; + Out tempOut__2 = + new Out(); + r = objT.WriteScope(row, tempReference_field7, objCol.typeArgs().clone(), tempOut__2, UpdateOptions.Update); + _ = tempOut__2.get(); + field = tempReference_field7.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field8 = + new Reference(field); + r = objT.DeleteScope(row, tempReference_field8); + field = tempReference_field8.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field9 = + new Reference(field); + RowCursor _; + Out tempOut__3 = + new Out(); + r = objT.ReadScope(row, tempReference_field9, tempOut__3); + _ = tempOut__3.get(); + field = tempReference_field9.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + public LayoutColumn ObjCol; + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.ObjCol = this.ObjCol; + varCopy.Col = this.Col; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public Object Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseObjectMulti extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference scope, + Closure closure) { + LayoutColumn col = closure.Col; + Property prop = closure.Prop.clone(); + Expected expected = closure.Expected.clone(); + String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); + + System.out.println(tag); + + TLayout t = (TLayout)col.type(); + + // Verify the nested field doesn't yet appear within the new scope. + RowCursor nestedField; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope.get().Clone(out nestedField).Find(row, col.path()); + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + Result r = t.ReadSparse(row, ref nestedField, out value); + Assert.IsTrue(r == Result.NOT_FOUND || r == Result.TYPE_MISMATCH, tag); + + // Write the nested field. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref nestedField, (TValue)prop.Value); + ResultAssert.IsSuccess(r, tag); + + // Read the nested field + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref nestedField, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar = prop.Value instanceof Array; + Array array = tempVar ? (Array)prop.Value : null; + if (tempVar) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(prop.Value, value, tag); + } + + // Overwrite the nested field. + if (t instanceof LayoutNull) { + Reference tempReference_nestedField = + new Reference(nestedField); + r = LayoutType.Boolean.WriteSparse(row, tempReference_nestedField, false); + nestedField = tempReference_nestedField.get(); + ResultAssert.IsSuccess(r, tag); + } else { + Reference tempReference_nestedField2 = + new Reference(nestedField); + r = LayoutType.Null.writeSparse(row, tempReference_nestedField2, NullValue.DEFAULT); + nestedField = tempReference_nestedField2.get(); + ResultAssert.IsSuccess(r, tag); + } + + // Verify nested field no longer there. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref nestedField, out value); + ResultAssert.TypeMismatch(r, tag); + } + + @Override + public void DispatchObject(Reference row, Reference scope, + Closure closure) { + LayoutColumn col = closure.Col; + Property prop = closure.Prop.clone(); + Expected expected = closure.Expected.clone(); + String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); + + System.out.println(tag); + + LayoutObject t = (LayoutObject)col.type(); + + // Verify the nested field doesn't yet appear within the new scope. + RowCursor nestedField; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope.get().Clone(out nestedField).Find(row, col.path()); + Reference tempReference_nestedField = + new Reference(nestedField); + RowCursor scope2; + Out tempOut_scope2 = + new Out(); + Result r = t.ReadScope(row, tempReference_nestedField, tempOut_scope2); + scope2 = tempOut_scope2.get(); + nestedField = tempReference_nestedField.get(); + ResultAssert.NotFound(r, tag); + + // Write the nested field. + Reference tempReference_nestedField2 = + new Reference(nestedField); + Out tempOut_scope22 = + new Out(); + r = t.WriteScope(row, tempReference_nestedField2, col.typeArgs().clone(), tempOut_scope22); + scope2 = tempOut_scope22.get(); + nestedField = tempReference_nestedField2.get(); + ResultAssert.IsSuccess(r, tag); + + // Read the nested field + Reference tempReference_nestedField3 = + new Reference(nestedField); + RowCursor scope3; + Out tempOut_scope3 = + new Out(); + r = t.ReadScope(row, tempReference_nestedField3, tempOut_scope3); + scope3 = tempOut_scope3.get(); + nestedField = tempReference_nestedField3.get(); + ResultAssert.IsSuccess(r, tag); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Assert.AreEqual(scope2.AsReadOnly(out _).ScopeType, scope3.ScopeType, tag); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Assert.AreEqual(scope2.AsReadOnly(out _).start, scope3.start(), tag); + + // Overwrite the nested field. + Reference tempReference_nestedField4 = + new Reference(nestedField); + r = LayoutType.Null.writeSparse(row, tempReference_nestedField4, NullValue.DEFAULT); + nestedField = tempReference_nestedField4.get(); + ResultAssert.IsSuccess(r, tag); + + // Verify nested field no longer there. + Reference tempReference_nestedField5 = + new Reference(nestedField); + Out tempOut_scope32 = + new Out(); + r = t.ReadScope(row, tempReference_nestedField5, tempOut_scope32); + scope3 = tempOut_scope32.get(); + nestedField = tempReference_nestedField5.get(); + ResultAssert.TypeMismatch(r, tag); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + public Property Prop = new Property(); + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Col = this.Col; + varCopy.Prop = this.Prop.clone(); + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public Property[] Props; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Props = this.Props.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Property + public final static class Property { + public String Path; + public Object Value; + + public Property clone() { + Property varCopy = new Property(); + + varCopy.Path = this.Path; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseObjectNested extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn col = closure.Col; + Property prop = closure.Prop.clone(); + Expected expected = closure.Expected.clone(); + String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); + + System.out.println(tag); + + TLayout t = (TLayout)col.type(); + + // Ensure scope exists. + RowCursor scope = LayoutCompilerUnitTests.EnsureScope(row, root, col.parent(), tag); + + // Write the nested field. + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + scope.Clone(out field).Find(row, col.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + Result r = t.WriteSparse(row, ref field, (TValue)prop.Value); + ResultAssert.IsSuccess(r, tag); + + // Read the nested field + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar = prop.Value instanceof Array; + Array array = tempVar ? (Array)prop.Value : null; + if (tempVar) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(prop.Value, value, tag); + } + + // Overwrite the nested field. + if (t instanceof LayoutNull) { + Reference tempReference_field = + new Reference(field); + r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); + field = tempReference_field.get(); + ResultAssert.IsSuccess(r, tag); + } else { + Reference tempReference_field2 = + new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, tag); + } + + // Verify nested field no longer there. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.TypeMismatch(r, tag); + } + + @Override + public void DispatchObject(Reference row, Reference root, Closure closure) { + LayoutColumn col = closure.Col; + Property prop = closure.Prop.clone(); + Expected expected = closure.Expected.clone(); + String tag = String.format("Prop: %2$s: Json: %1$s", expected.Json, prop.Path); + + System.out.println(tag); + + // Ensure scope exists. + RowCursor scope = LayoutCompilerUnitTests.EnsureScope(row, root, col, tag); + assert root.get().clone() != scope.clone(); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + public Property Prop = new Property(); + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Col = this.Col; + varCopy.Prop = this.Prop.clone(); + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public Property[] Props; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Props = this.Props.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Property + public final static class Property { + public String Path; + public Object Value; + + public Property clone() { + Property varCopy = new Property(); + + varCopy.Path = this.Path; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseOrdering extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutType type = closure.Expected.Type; + String path = closure.Expected.Path; + Object exValue = closure.Expected.Value; + String json = closure.Json; + + TLayout t = (TLayout)type; + TValue value = (TValue)exValue; + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out field).Find(row, path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + Result r = t.WriteSparse(row, ref field, value); + ResultAssert.IsSuccess(r, "Json: {0}", json); + Out tempOut_value = new Out(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref field, tempOut_value); + value = tempOut_value.get(); + ResultAssert.IsSuccess(r, "Json: {0}", json); + boolean tempVar = exValue instanceof Array; + Array array = tempVar ? (Array)exValue : null; + if (tempVar) { + CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", json); + } else { + Assert.AreEqual(exValue, value, "Json: {0}", json); + } + + if (t instanceof LayoutNull) { + Reference tempReference_field = + new Reference(field); + r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); + field = tempReference_field.get(); + ResultAssert.IsSuccess(r, "Json: {0}", json); + Out tempOut_value2 = new Out(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref field, tempOut_value2); + value = tempOut_value2.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", json); + } else { + Reference tempReference_field2 = + new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, "Json: {0}", json); + Out tempOut_value3 = new Out(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref field, tempOut_value3); + value = tempOut_value3.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", json); + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public Expected Expected = new Expected(); + public String Json; + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Json = this.Json; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Path; + public LayoutType Type; + public Object Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Path = this.Path; + varCopy.Type = this.Type; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseSet extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn setCol = closure.SetCol; + LayoutType tempVar = setCol.type(); + LayoutUniqueScope setT = tempVar instanceof LayoutUniqueScope ? (LayoutUniqueScope)tempVar : null; + Expected expected = closure.Expected.clone(); + String tag = String.format("Json: %1$s, Set: %2$s", expected.Json, setCol.type().getName()); + + System.out.println(tag); + Assert.IsNotNull(setT, tag); + + TLayout t = (TLayout)expected.Type; + + // Verify the Set doesn't yet exist. + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out field).Find(row, setCol.path()); + Reference tempReference_field = + new Reference(field); + RowCursor scope; + Out tempOut_scope = + new Out(); + Result r = setT.ReadScope(row, tempReference_field, tempOut_scope); + scope = tempOut_scope.get(); + field = tempReference_field.get(); + ResultAssert.NotFound(r, tag); + + // Write the Set. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = setT.WriteScope(row, ref field, setCol.typeArgs().clone(), out scope); + ResultAssert.IsSuccess(r, tag); + + // Verify the nested field doesn't yet appear within the new scope. + assert !scope.MoveNext(row); + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref scope, out value); + ResultAssert.NotFound(r, tag); + + // Write the nested fields. + for (Object v1 : expected.Value) { + // Write the ith item into staging storage. + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.WriteSparse(row, ref tempCursor, (TValue)v1); + ResultAssert.IsSuccess(r, tag); + + // Move item into the set. + Reference tempReference_scope = + new Reference(scope); + Reference tempReference_tempCursor = + new Reference(tempCursor); + r = setT.MoveField(row, tempReference_scope, tempReference_tempCursor); + tempCursor = tempReference_tempCursor.get(); + scope = tempReference_scope.get(); + ResultAssert.IsSuccess(r, tag); + } + + // Attempts to insert the same items into the set again will fail. + for (Object v2 : expected.Value) { + // Write the ith item into staging storage. + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.WriteSparse(row, ref tempCursor, (TValue)v2); + ResultAssert.IsSuccess(r, tag); + + // Move item into the set. + Reference tempReference_scope2 = + new Reference(scope); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + r = setT.MoveField(row, tempReference_scope2, tempReference_tempCursor2, UpdateOptions.Insert); + tempCursor = tempReference_tempCursor2.get(); + scope = tempReference_scope2.get(); + ResultAssert.Exists(r, tag); + } + + // Read the Set and the nested column, validate the nested column has the proper value. + Reference tempReference_field2 = + new Reference(field); + RowCursor scope2; + Out tempOut_scope2 = + new Out(); + r = setT.ReadScope(row, tempReference_field2, tempOut_scope2); + scope2 = tempOut_scope2.get(); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, tag); + Assert.AreEqual(scope.ScopeType, scope2.ScopeType, tag); + Assert.AreEqual(scope.start(), scope2.start(), tag); + Assert.AreEqual(scope.Immutable, scope2.Immutable, tag); + + // Read the nested fields + Reference tempReference_field3 = + new Reference(field); + Out tempOut_scope2 = + new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field3, tempOut_scope2)); + scope = tempOut_scope2.get(); + field = tempReference_field3.get(); + for (Object item : expected.Value) { + assert scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref scope, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar2 = item instanceof Array; + Array array = tempVar2 ? (Array)item : null; + if (tempVar2) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(item, value, tag); + } + } + + // Delete all of the items and then insert them again in the opposite order. + Reference tempReference_field4 = + new Reference(field); + Out tempOut_scope3 = + new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field4, tempOut_scope3)); + scope = tempOut_scope3.get(); + field = tempReference_field4.get(); + for (int i = 0; i < expected.Value.size(); i++) { + assert scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.DeleteSparse(row, ref scope); + ResultAssert.IsSuccess(r, tag); + } + + Reference tempReference_field5 = + new Reference(field); + Out tempOut_scope4 = + new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field5, tempOut_scope4)); + scope = tempOut_scope4.get(); + field = tempReference_field5.get(); + for (int i = expected.Value.size() - 1; i >= 0; i--) { + // Write the ith item into staging storage. + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.WriteSparse(row, ref tempCursor, (TValue)expected.Value.get(i)); + ResultAssert.IsSuccess(r, tag); + + // Move item into the set. + Reference tempReference_scope3 = + new Reference(scope); + Reference tempReference_tempCursor3 = + new Reference(tempCursor); + r = setT.MoveField(row, tempReference_scope3, tempReference_tempCursor3); + tempCursor = tempReference_tempCursor3.get(); + scope = tempReference_scope3.get(); + ResultAssert.IsSuccess(r, tag); + } + + // Verify they still enumerate in sorted order. + Reference tempReference_field6 = + new Reference(field); + Out tempOut_scope5 = + new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field6, tempOut_scope5)); + scope = tempOut_scope5.get(); + field = tempReference_field6.get(); + for (Object item : expected.Value) { + assert scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref scope, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar3 = item instanceof Array; + Array array = tempVar3 ? (Array)item : null; + if (tempVar3) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(item, value, tag); + } + } + + // Delete one item. + if (expected.Value.size() > 1) { + int indexToDelete = 1; + Reference tempReference_field7 = + new Reference(field); + Out tempOut_scope6 = new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field7, tempOut_scope6)); + scope = tempOut_scope6.get(); + field = tempReference_field7.get(); + assert scope.MoveTo(row, indexToDelete); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.DeleteSparse(row, ref scope); + ResultAssert.IsSuccess(r, tag); + ArrayList remainingValues = new ArrayList(expected.Value); + remainingValues.remove(indexToDelete); + + Reference tempReference_field8 = new Reference(field); + Out tempOut_scope7 = new Out(); + ResultAssert.IsSuccess(setT.ReadScope(row, tempReference_field8, tempOut_scope7)); + scope = tempOut_scope7.get(); + field = tempReference_field8.get(); + for (Object item : remainingValues) { + assert scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref scope, out value); + ResultAssert.IsSuccess(r, tag); + boolean tempVar4 = item instanceof Array; + Array array = tempVar4 ? (Array)item : null; + if (tempVar4) { + CollectionAssert.AreEqual(array, (Collection)value, tag); + } else { + Assert.AreEqual(item, value, tag); + } + } + + assert !scope.MoveTo(row, remainingValues.size()); + } + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot).Find(row, setCol.path()); + Reference tempReference_roRoot = new Reference(roRoot); + ResultAssert.InsufficientPermissions(setT.DeleteScope(row, tempReference_roRoot)); + roRoot = tempReference_roRoot.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(setT.WriteScope(row, ref roRoot, setCol.typeArgs().clone(), out _)); + + // Overwrite the whole scope. + Reference tempReference_field9 = new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field9, NullValue.DEFAULT); + field = tempReference_field9.get(); + ResultAssert.IsSuccess(r, tag); + Reference tempReference_field10 = new Reference(field); + RowCursor _; + Out tempOut__ = new Out(); + r = setT.ReadScope(row, tempReference_field10, tempOut__); + _ = tempOut__.get(); + field = tempReference_field10.get(); + ResultAssert.TypeMismatch(r, tag); + Reference tempReference_field11 = new Reference(field); + r = setT.DeleteScope(row, tempReference_field11); + field = tempReference_field11.get(); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + + // Overwrite it again, then delete it. + Reference tempReference_field12 = new Reference(field); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + r = setT.WriteScope(row, tempReference_field12, setCol.typeArgs().clone(), out _, UpdateOptions.Update); + field = tempReference_field12.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field13 = new Reference(field); + r = setT.DeleteScope(row, tempReference_field13); + field = tempReference_field13.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + Reference tempReference_field14 = new Reference(field); + RowCursor _; + Out tempOut__2 = new Out(); + r = setT.ReadScope(row, tempReference_field14, tempOut__2); + _ = tempOut__2.get(); + field = tempReference_field14.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public Expected Expected = new Expected(); + public LayoutColumn SetCol; + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.SetCol = this.SetCol; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public LayoutType Type; + public ArrayList Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Type = this.Type; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private final static class RoundTripSparseSimple extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn col = closure.Col; + Expected expected = closure.Expected.clone(); + + System.out.printf("%1$s" + "\r\n", col.type().getName()); + TLayout t = (TLayout)col.type(); + RowCursor field; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out field).Find(row, col.path()); + TValue value; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + Result r = t.ReadSparse(row, ref field, out value); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Update); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref field, (TValue)expected.Value); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Insert); + ResultAssert.Exists(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + boolean tempVar = expected.Value instanceof Array; + Array array = tempVar ? (Array)expected.Value : null; + if (tempVar) { + CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); + } else { + Assert.AreEqual(expected.Value, value, "Json: {0}", expected.Json); + } + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot).Find(row, col.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(t.DeleteSparse(row, ref roRoot)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(t.WriteSparse(row, ref roRoot, (TValue)expected.Value, + UpdateOptions.Update)); + + if (t instanceof LayoutNull) { + Reference tempReference_field = + new Reference(field); + r = LayoutType.Boolean.WriteSparse(row, tempReference_field, false); + field = tempReference_field.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + } else { + Reference tempReference_field2 = + new Reference(field); + r = LayoutType.Null.writeSparse(row, tempReference_field2, NullValue.DEFAULT); + field = tempReference_field2.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.DeleteSparse(row, ref field); + ResultAssert.TypeMismatch(r, "Json: {0}", expected.Json); + + // Overwrite it again, then delete it. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.WriteSparse(row, ref field, (TValue)expected.Value, UpdateOptions.Update); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.DeleteSparse(row, ref field); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + r = t.ReadSparse(row, ref field, out value); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Col = this.Col; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public Object Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Value = this.Value; + + return varCopy; + } + } +} + +private static class RoundTripVariable extends TestActionDispatcher { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + LayoutColumn col = closure.Col; + Expected expected = closure.Expected.clone(); + + System.out.printf("%1$s" + "\r\n", expected.Json); + + this.RoundTrip(row, root, col, expected.Value, expected.clone()); + } + + protected final , TValue> void Compare(Reference row, + Reference root, LayoutColumn col, Object exValue, Expected expected) { + TLayout t = (TLayout)col.type(); + TValue value; + Out tempOut_value = new Out(); + Result r = t.readVariable(row, root, col, tempOut_value); + value = tempOut_value.get(); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + boolean tempVar = exValue instanceof Array; + Array array = tempVar ? (Array)exValue : null; + if (tempVar) { + CollectionAssert.AreEqual(array, (Collection)value, "Json: {0}", expected.Json); + } else { + Assert.AreEqual(exValue, value, "Json: {0}", expected.Json); + } + } + + protected final , TValue> void RoundTrip(Reference row, + Reference root, LayoutColumn col, Object exValue, Expected expected) { + TLayout t = (TLayout)col.type(); + Result r = t.writeVariable(row, root, col, (TValue)exValue); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + this.Compare(row, root, col, exValue, expected.clone()); + + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot); + Reference tempReference_roRoot = + new Reference(roRoot); + ResultAssert.InsufficientPermissions(t.writeVariable(row, tempReference_roRoot, col, (TValue)expected.Value)); + roRoot = tempReference_roRoot.get(); + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Closure + public final static class Closure { + public LayoutColumn Col; + public Expected Expected = new Expected(); + public Layout Layout; + + public Closure clone() { + Closure varCopy = new Closure(); + + varCopy.Col = this.Col; + varCopy.Layout = this.Layout; + varCopy.Expected = this.Expected.clone(); + + return varCopy; + } + } + + //C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may + // differ from the original: + //ORIGINAL LINE: public struct Expected + public final static class Expected { + public String Json; + public Object Long; + public Object Short; + public Object TooBig; + public Object Value; + + public Expected clone() { + Expected varCopy = new Expected(); + + varCopy.Json = this.Json; + varCopy.Short = this.Short; + varCopy.Value = this.Value; + varCopy.Long = this.Long; + varCopy.TooBig = this.TooBig; + + return varCopy; + } + } +} + +private abstract static class TestActionDispatcher { + public abstract , TValue> void Dispatch(Reference row, Reference scope, TClosure closure); + + public void DispatchObject(Reference row, Reference scope, TClosure closure) { + Assert.Fail("not implemented"); + } +} + +private final static class VariableInterleaving extends RoundTripVariable { + @Override + public void Dispatch(Reference row, Reference root, + Closure closure) { + Layout layout = closure.Layout; + Expected expected = closure.Expected.clone(); + + System.out.printf("%1$s" + "\r\n", expected.Json); + + LayoutColumn a = this.Verify(row, root, layout, "a", expected.clone()); + LayoutColumn b = this.Verify(row, root, layout, "b", expected.clone()); + LayoutColumn c = this.Verify(row, root, layout, "c", expected.clone()); + + this.RoundTrip(row, root, b, expected.Value, expected.clone()); + this.RoundTrip(row, root, a, expected.Value, expected.clone()); + this.RoundTrip(row, root, c, expected.Value, expected.clone()); + + // Make the var column shorter. + int rowSizeBeforeShrink = row.get().length(); + this.RoundTrip(row, root, a, expected.Short, expected.clone()); + this.Compare(row, root, c, expected.Value, expected.clone()); + int rowSizeAfterShrink = row.get().length(); + Assert.IsTrue(rowSizeAfterShrink < rowSizeBeforeShrink, "Json: {0}", expected.Json); + + // Make the var column longer. + this.RoundTrip(row, root, a, expected.Long, expected.clone()); + this.Compare(row, root, c, expected.Value, expected.clone()); + int rowSizeAfterGrow = row.get().length(); + Assert.IsTrue(rowSizeAfterGrow > rowSizeAfterShrink, "Json: {0}", expected.Json); + Assert.IsTrue(rowSizeAfterGrow > rowSizeBeforeShrink, "Json: {0}", expected.Json); + + // Check for size overflow errors. + if (a.getSize() > 0) { + this.TooBig(row, root, a, expected.clone()); + } + + // Delete the var column. + this.Delete(row, root, b, expected.clone()); + this.Delete(row, root, c, expected.clone()); + this.Delete(row, root, a, expected.clone()); + } + + private , TValue> void Delete(Reference row, + Reference root, LayoutColumn col, Expected expected) { + TLayout t = (TLayout)col.type(); + RowCursor roRoot; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().AsReadOnly(out roRoot); + Reference tempReference_roRoot = + new Reference(roRoot); + ResultAssert.InsufficientPermissions(t.deleteVariable(row, tempReference_roRoot, col)); + roRoot = tempReference_roRoot.get(); + Result r = t.deleteVariable(row, root, col); + ResultAssert.IsSuccess(r, "Json: {0}", expected.Json); + TValue _; + Out tempOut__ = new Out(); + r = t.readVariable(row, root, col, tempOut__); + _ = tempOut__.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + } + + private , TValue> void TooBig(Reference row, + Reference root, LayoutColumn col, Expected expected) { + TLayout t = (TLayout)col.type(); + Result r = t.writeVariable(row, root, col, (TValue)expected.TooBig); + Assert.AreEqual(Result.TOO_BIG, r, "Json: {0}", expected.Json); + } + + private , TValue> LayoutColumn Verify(Reference row, + Reference root, Layout layout, String path, Expected expected) { + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + boolean found = layout.TryFind(path, out col); + Assert.IsTrue(found, "Json: {0}", expected.Json); + assert col.Type.AllowVariable; + TLayout t = (TLayout)col.Type; + TValue _; + Out tempOut__ = new Out(); + Result r = t.readVariable(row, root, col, tempOut__); + _ = tempOut__.get(); + ResultAssert.NotFound(r, "Json: {0}", expected.Json); + return col; + } +} } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java index d965c3e..ee33c06 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/LayoutTypeUnitTests.java @@ -1,46 +1,46 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class LayoutTypeUnitTests -public class LayoutTypeUnitTests { - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void LayoutTypeTest() - public final void LayoutTypeTest() { - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Boolean); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int8); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int16); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int32); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int64); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt8); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt16); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt32); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt64); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.VarInt); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.VarUInt); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Float32); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Float64); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Decimal); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Null); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Boolean); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.DateTime); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Guid); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Utf8); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Binary); - LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Object); - } - - private static void TestLayoutTypeApi(LayoutType t) { - assert t.getName() != null; - assert !tangible.StringHelper.isNullOrWhiteSpace(t.getName()); - Assert.AreNotSame(null, t.getIsFixed(), t.getName()); - Assert.AreNotSame(null, t.getAllowVariable(), t.getName()); - Assert.AreNotSame(null, t.getIsBool(), t.getName()); - Assert.AreNotSame(null, t.getIsNull(), t.getName()); - Assert.AreNotSame(null, t.getIsVarint(), t.getName()); - Assert.IsTrue(t.Size >= 0, t.getName()); - Assert.AreNotEqual(LayoutCode.Invalid, t.LayoutCode, t.getName()); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class LayoutTypeUnitTests +public class LayoutTypeUnitTests { + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void LayoutTypeTest() + public final void LayoutTypeTest() { + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Boolean); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int8); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int16); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int32); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Int64); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt8); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt16); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt32); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.UInt64); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.VarInt); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.VarUInt); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Float32); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Float64); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Decimal); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Null); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Boolean); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.DateTime); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Guid); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Utf8); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Binary); + LayoutTypeUnitTests.TestLayoutTypeApi(LayoutType.Object); + } + + private static void TestLayoutTypeApi(LayoutType t) { + assert t.getName() != null; + assert !tangible.StringHelper.isNullOrWhiteSpace(t.getName()); + Assert.AreNotSame(null, t.getIsFixed(), t.getName()); + Assert.AreNotSame(null, t.getAllowVariable(), t.getName()); + Assert.AreNotSame(null, t.getIsBool(), t.getName()); + Assert.AreNotSame(null, t.getIsNull(), t.getName()); + Assert.AreNotSame(null, t.getIsVarint(), t.getName()); + Assert.IsTrue(t.Size >= 0, t.getName()); + Assert.AreNotEqual(LayoutCode.Invalid, t.LayoutCode, t.getName()); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java index 0b27a24..6eeae45 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullRowDispatcher.java @@ -1,87 +1,87 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal struct NullRowDispatcher : IDispatcher -public final class NullRowDispatcher implements IDispatcher { - - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { - Dispatch(dispatcher, root, col, t, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, - // LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue expected) { - switch (col == null ? null : col.getStorage()) { - case Fixed: - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - TValue _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - ResultAssert.NotFound(t.TypeAs().ReadFixed(tempReference_Row, root, col, out _)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - break; - case Variable: - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - TValue _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - ResultAssert.NotFound(t.TypeAs().ReadVariable(tempReference_Row2, root, col, out _)); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - break; - default: - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - TValue _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - ResultAssert.NotFound(t.TypeAs().ReadSparse(tempReference_Row3, root, out _)); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - break; - } - } - - public void DispatchArray(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - } - - public void DispatchMap(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { - } - - public void DispatchNullable(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - } - - public void DispatchObject(Reference dispatcher, - Reference scope) { - } - - public void DispatchSet(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - } - - public void DispatchTuple(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - } - - public void DispatchUDT(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal struct NullRowDispatcher : IDispatcher +public final class NullRowDispatcher implements IDispatcher { + + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { + Dispatch(dispatcher, root, col, t, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, + // LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue expected) { + switch (col == null ? null : col.getStorage()) { + case Fixed: + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + TValue _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + ResultAssert.NotFound(t.TypeAs().ReadFixed(tempReference_Row, root, col, out _)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + break; + case Variable: + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + TValue _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + ResultAssert.NotFound(t.TypeAs().ReadVariable(tempReference_Row2, root, col, out _)); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + break; + default: + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + TValue _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + ResultAssert.NotFound(t.TypeAs().ReadSparse(tempReference_Row3, root, out _)); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + break; + } + } + + public void DispatchArray(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + } + + public void DispatchMap(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { + } + + public void DispatchNullable(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + } + + public void DispatchObject(Reference dispatcher, + Reference scope) { + } + + public void DispatchSet(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + } + + public void DispatchTuple(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + } + + public void DispatchUDT(Reference dispatcher, Reference scope, LayoutType t, TypeArgumentList typeArgs, Object value) { + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java index 773d6ee..e680e34 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/NullableUnitTests.java @@ -1,753 +1,753 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.RowCursors; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -// ReSharper disable StringLiteralTypo - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(NullableUnitTests.SchemaFile, "TestData")] public sealed class -// NullableUnitTests -public final class NullableUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\NullableSchema.json"; - private Layout layout; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateNullables() - public void CreateNullables() { - RowBuffer row = new RowBuffer(NullableUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - Nullables t1 = new Nullables(); - t1.NullBool = new ArrayList(Arrays.asList(true, false, null)); - t1.NullArray = new ArrayList(Arrays.asList(1.2F, null, 3.0F)); - t1.NullSet = new ArrayList(Arrays.asList(null, "abc", "def")); - t1.NullTuple = new ArrayList<(Integer, Long) > (Arrays.asList((1, 2), (null, 3),(4, null),(null, null))) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: t1.NullMap = new Dictionary> { { System.GuidCodec.Parse - // ("{00000000-0000-0000-0000-000000000000}"), 1 }, { System.GuidCodec.Parse - // ("{4674962B-CE11-4916-81C5-0421EE36F168}"), 20 }, { System.GuidCodec.Parse - // ("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), null }}; - t1.NullMap = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{00000000-0000-0000-0000" + - "-000000000000}"), 1), Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"), 20), - Map.entry(UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), null))); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteNullables(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Nullables t2 = this.ReadNullables(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert t1 == t2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(NullableUnitTests.SchemaFile); - this.schema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.schema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Nullables")).SchemaId); - } - - // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: - //ORIGINAL LINE: private static Result ReadNullable(ref RowBuffer row, ref RowCursor scope, TypeArgument - // itemType, out Nullable item, out RowCursor nullableScope) where TValue : struct - private static Result ReadNullable(Reference row, - Reference scope, TypeArgument itemType, - Out item, - Out nullableScope) { - TValue value; - Out tempOut_value = new Out(); - Result r = NullableUnitTests.ReadNullableImpl(row, scope, itemType.clone(), tempOut_value, - nullableScope.clone()); - value = tempOut_value.get(); - if ((r != Result.SUCCESS) && (r != Result.NOT_FOUND)) { - item.setAndGet(null); - return r; - } - - item.setAndGet((r == Result.NOT_FOUND) ? null : value); - return Result.SUCCESS; - } - - private static Result ReadNullable(Reference row, - Reference scope, TypeArgument itemType, - Out item, - Out nullableScope) { - Result r = NullableUnitTests.ReadNullableImpl(row, scope, itemType.clone(), item, nullableScope.clone()); - return (r == Result.NOT_FOUND) ? Result.SUCCESS : r; - } - - private static Result ReadNullableImpl(Reference row, - Reference scope, TypeArgument itemType, - Out item, - Out nullableScope) { - Result r = itemType.getType().TypeAs().ReadScope(row, scope, nullableScope.clone()); - if (r != Result.SUCCESS) { - item.setAndGet(null); - return r; - } - - if (RowCursors.moveNext(nullableScope.get().clone(), row)) { - ResultAssert.IsSuccess(LayoutNullable.HasValue(row, nullableScope.clone())); - return itemType.getTypeArgs().get(0).getType().>TypeAs().ReadSparse(row, - nullableScope.clone(), item); - } - - ResultAssert.NotFound(LayoutNullable.HasValue(row, nullableScope.clone())); - item.setAndGet(null); - return Result.NOT_FOUND; - } - - private Nullables ReadNullables(Reference row, Reference root) { - Nullables value = new Nullables(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nullbool", out c); - RowCursor scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { - value.NullBool = new ArrayList(); - RowCursor nullableScope = null; - Reference tempReference_nullableScope = - new Reference(nullableScope); - while (scope.MoveNext(row, tempReference_nullableScope)) { - nullableScope = tempReference_nullableScope.get(); - Reference tempReference_scope = - new Reference(scope); - Nullable item; - Out tempOut_item = new Out(); - Out tempOut_nullableScope = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope, c.TypeArgs[0], tempOut_item - , tempOut_nullableScope)); - nullableScope = tempOut_nullableScope.get(); - item = tempOut_item.get(); - scope = tempReference_scope.get(); - value.NullBool.add(item); - } - nullableScope = tempReference_nullableScope.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nullarray", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { - value.NullArray = new ArrayList(); - RowCursor nullableScope = null; - Reference tempReference_nullableScope2 = - new Reference(nullableScope); - while (scope.MoveNext(row, tempReference_nullableScope2)) { - nullableScope = tempReference_nullableScope2.get(); - Reference tempReference_scope2 = - new Reference(scope); - Nullable item; - Out tempOut_item2 = new Out(); - Out tempOut_nullableScope2 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope2, c.TypeArgs[0], - tempOut_item2, tempOut_nullableScope2)); - nullableScope = tempOut_nullableScope2.get(); - item = tempOut_item2.get(); - scope = tempReference_scope2.get(); - value.NullArray.add(item); - } - nullableScope = tempReference_nullableScope2.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nullset", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { - value.NullSet = new ArrayList(); - RowCursor nullableScope = null; - Reference tempReference_nullableScope3 = - new Reference(nullableScope); - while (scope.MoveNext(row, tempReference_nullableScope3)) { - nullableScope = tempReference_nullableScope3.get(); - Reference tempReference_scope3 = - new Reference(scope); - String item; - Out tempOut_item3 = new Out(); - Out tempOut_nullableScope3 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope3, c.TypeArgs[0], - tempOut_item3, tempOut_nullableScope3)); - nullableScope = tempOut_nullableScope3.get(); - item = tempOut_item3.get(); - scope = tempReference_scope3.get(); - value.NullSet.add(item); - } - nullableScope = tempReference_nullableScope3.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nulltuple", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { - value.NullTuple = new ArrayList<(Integer, Long) > (); - RowCursor tupleScope = null; - TypeArgument tupleType = c.TypeArgs[0]; - Reference tempReference_tupleScope = - new Reference(tupleScope); - while (scope.MoveNext(row, tempReference_tupleScope)) { - tupleScope = tempReference_tupleScope.get(); - Reference tempReference_scope4 = - new Reference(scope); - Out tempOut_tupleScope = - new Out(); - ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, tempReference_scope4, - tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - scope = tempReference_scope4.get(); - - assert RowCursors.moveNext(tupleScope.clone() - , row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - Nullable item1; - Out tempOut_item1 = new Out(); - RowCursor nullableScope; - Out tempOut_nullableScope4 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope2, - tupleType.getTypeArgs().get(0).clone(), tempOut_item1, tempOut_nullableScope4)); - nullableScope = tempOut_nullableScope4.get(); - item1 = tempOut_item1.get(); - tupleScope = tempReference_tupleScope2.get(); - Reference tempReference_nullableScope4 = - new Reference(nullableScope); - assert RowCursors.moveNext(tupleScope.clone() - , row, tempReference_nullableScope4); - nullableScope = tempReference_nullableScope4.get(); - Reference tempReference_tupleScope3 = - new Reference(tupleScope); - Nullable item2; - Out tempOut_item2 = new Out(); - Out tempOut_nullableScope5 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope3, - tupleType.getTypeArgs().get(1).clone(), tempOut_item2, tempOut_nullableScope5)); - nullableScope = tempOut_nullableScope5.get(); - item2 = tempOut_item2.get(); - tupleScope = tempReference_tupleScope3.get(); - - Reference tempReference_nullableScope5 = - new Reference(nullableScope); - assert !RowCursors.moveNext(tupleScope.clone(), row, tempReference_nullableScope5); - nullableScope = tempReference_nullableScope5.get(); - value.NullTuple.add((item1, item2)) - } - tupleScope = tempReference_tupleScope.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nullmap", out c); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: value.NullMap = new Dictionary>(); - value.NullMap = new HashMap(); - RowCursor tupleScope = null; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - TypeArgument tupleType = c.typeAs().FieldType(ref scope); - Reference tempReference_tupleScope4 = - new Reference(tupleScope); - while (scope.MoveNext(row, tempReference_tupleScope4)) { - tupleScope = tempReference_tupleScope4.get(); - Reference tempReference_scope5 = - new Reference(scope); - Out tempOut_tupleScope2 = - new Out(); - ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, tempReference_scope5, - tempOut_tupleScope2)); - tupleScope = tempOut_tupleScope2.get(); - scope = tempReference_scope5.get(); - - assert RowCursors.moveNext(tupleScope.clone() - , row); - Reference tempReference_tupleScope5 = - new Reference(tupleScope); - Nullable itemKey; - Out tempOut_itemKey = new Out(); - RowCursor nullableScope; - Out tempOut_nullableScope6 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope5, - tupleType.getTypeArgs().get(0).clone(), tempOut_itemKey, tempOut_nullableScope6)); - nullableScope = tempOut_nullableScope6.get(); - itemKey = tempOut_itemKey.get(); - tupleScope = tempReference_tupleScope5.get(); - - Reference tempReference_nullableScope6 = - new Reference(nullableScope); - assert RowCursors.moveNext(tupleScope.clone() - , row, tempReference_nullableScope6); - nullableScope = tempReference_nullableScope6.get(); - Reference tempReference_tupleScope6 = - new Reference(tupleScope); - Nullable itemValue; - Out tempOut_itemValue = new Out(); - Out tempOut_nullableScope7 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope6, - tupleType.getTypeArgs().get(1).clone(), tempOut_itemValue, tempOut_nullableScope7)); - nullableScope = tempOut_nullableScope7.get(); - itemValue = tempOut_itemValue.get(); - tupleScope = tempReference_tupleScope6.get(); - - Reference tempReference_nullableScope7 = - new Reference(nullableScope); - assert !RowCursors.moveNext(tupleScope.clone(), row, tempReference_nullableScope7); - nullableScope = tempReference_nullableScope7.get(); - value.NullMap.put(itemKey != null ? itemKey : UUID.Empty, itemValue); - } - tupleScope = tempReference_tupleScope4.get(); - } - - return value; - } - - // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: - //ORIGINAL LINE: private static Result WriteNullable(ref RowBuffer row, ref RowCursor scope, TypeArgument - // itemType, Nullable item, out RowCursor nullableScope) where TValue : struct - private static Result WriteNullable(Reference row, - Reference scope, TypeArgument itemType, - TValue item, Out nullableScope) { - return NullableUnitTests.WriteNullableImpl(row, scope, itemType.clone(), item != null, item != null ? item : - default,nullableScope.clone()) - } - - private static Result WriteNullable(Reference row, - Reference scope, TypeArgument itemType, - TValue item, Out nullableScope) { - return NullableUnitTests.WriteNullableImpl(row, scope, itemType.clone(), item != null, item, - nullableScope.clone()); - } - - private static Result WriteNullableImpl(Reference row, - Reference scope, TypeArgument itemType, - boolean hasValue, TValue item, - Out nullableScope) { - Result r = itemType.TypeAs().WriteScope(row, scope, itemType.getTypeArgs().clone(), hasValue, - nullableScope); - - if (r != Result.SUCCESS) { - return r; - } - - if (hasValue) { - r = itemType.getTypeArgs().get(0).getType().>TypeAs().WriteSparse(row, - nullableScope.clone(), item); - return r; - } - - return Result.SUCCESS; - } - - private void WriteNullables(Reference row, Reference root, - Nullables value) { - LayoutColumn c; - - if (value.NullBool != null) { - Out tempOut_c = - new Out(); - assert this.layout.TryFind("nullbool", tempOut_c); - c = tempOut_c.get(); - RowCursor outerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out outerScope).Find(row, c.path()); - Reference tempReference_outerScope = - new Reference(outerScope); - Out tempOut_outerScope = - new Out(); - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope, - c.typeArgs().clone(), tempOut_outerScope)); - outerScope = tempOut_outerScope.get(); - outerScope = tempReference_outerScope.get(); - for (Boolean item : value.NullBool) { - Reference tempReference_outerScope2 = - new Reference(outerScope); - RowCursor innerScope; - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_outerScope2, - c.typeArgs().get(0).clone(), item, tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - outerScope = tempReference_outerScope2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !outerScope.MoveNext(row, ref innerScope); - } - } - - if (value.NullArray != null) { - Out tempOut_c2 = - new Out(); - assert this.layout.TryFind("nullarray", tempOut_c2); - c = tempOut_c2.get(); - RowCursor outerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out outerScope).Find(row, c.path()); - Reference tempReference_outerScope3 = - new Reference(outerScope); - Out tempOut_outerScope2 = - new Out(); - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope3, - c.typeArgs().clone(), tempOut_outerScope2)); - outerScope = tempOut_outerScope2.get(); - outerScope = tempReference_outerScope3.get(); - for (Float item : value.NullArray) { - Reference tempReference_outerScope4 = - new Reference(outerScope); - RowCursor innerScope; - Out tempOut_innerScope2 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_outerScope4, - c.typeArgs().get(0).clone(), item, tempOut_innerScope2)); - innerScope = tempOut_innerScope2.get(); - outerScope = tempReference_outerScope4.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !outerScope.MoveNext(row, ref innerScope); - } - } - - if (value.NullSet != null) { - Out tempOut_c3 = - new Out(); - assert this.layout.TryFind("nullset", tempOut_c3); - c = tempOut_c3.get(); - RowCursor outerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out outerScope).Find(row, c.path()); - Reference tempReference_outerScope5 = - new Reference(outerScope); - Out tempOut_outerScope3 = - new Out(); - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope5, - c.typeArgs().clone(), tempOut_outerScope3)); - outerScope = tempOut_outerScope3.get(); - outerScope = tempReference_outerScope5.get(); - for (String item : value.NullSet) { - RowCursor temp; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - RowCursor.createForAppend(row, out temp).Find(row, ""); - Reference tempReference_temp = - new Reference(temp); - RowCursor _; - Out tempOut__ = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_temp, - c.typeArgs().get(0).clone(), item, tempOut__)); - _ = tempOut__.get(); - temp = tempReference_temp.get(); - Reference tempReference_outerScope6 = - new Reference(outerScope); - Reference tempReference_temp2 = - new Reference(temp); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_outerScope6, - tempReference_temp2)); - temp = tempReference_temp2.get(); - outerScope = tempReference_outerScope6.get(); - } - } - - if (value.NullTuple != null) { - Out tempOut_c4 = - new Out(); - assert this.layout.TryFind("nulltuple", tempOut_c4); - c = tempOut_c4.get(); - RowCursor outerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out outerScope).Find(row, c.path()); - Reference tempReference_outerScope7 = - new Reference(outerScope); - Out tempOut_outerScope4 = - new Out(); - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope7, - c.typeArgs().clone(), tempOut_outerScope4)); - outerScope = tempOut_outerScope4.get(); - outerScope = tempReference_outerScope7.get(); - for ((Integer item1,Long item2) :value.NullTuple) - { - TypeArgument tupleType = c.typeArgs().get(0).clone(); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref outerScope, - tupleType.getTypeArgs().clone(), out tupleScope)); - - Reference tempReference_tupleScope = - new Reference(tupleScope); - RowCursor nullableScope; - Out tempOut_nullableScope = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope, - tupleType.getTypeArgs().get(0).clone(), item1, tempOut_nullableScope)); - nullableScope = tempOut_nullableScope.get(); - tupleScope = tempReference_tupleScope.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert tupleScope.MoveNext(row, ref nullableScope); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - Out tempOut_nullableScope2 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope2, - tupleType.getTypeArgs().get(1).clone(), item2, tempOut_nullableScope2)); - nullableScope = tempOut_nullableScope2.get(); - tupleScope = tempReference_tupleScope2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !tupleScope.MoveNext(row, ref nullableScope); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !outerScope.MoveNext(row, ref tupleScope); - } - } - - if (value.NullMap != null) { - Out tempOut_c5 = - new Out(); - assert this.layout.TryFind("nullmap", tempOut_c5); - c = tempOut_c5.get(); - RowCursor outerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out outerScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref outerScope, - c.typeArgs().clone(), out outerScope)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: foreach ((GuidCodec key, Nullable itemValue) in value.NullMap) - for ((UUID key,Byte itemValue) :value.NullMap) - { - Reference tempReference_outerScope8 = - new Reference(outerScope); - TypeArgument tupleType = c.typeAs().FieldType(tempReference_outerScope8).clone(); - outerScope = tempReference_outerScope8.get(); - RowCursor temp; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - RowCursor.createForAppend(row, out temp).Find(row, ""); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref temp, - tupleType.getTypeArgs().clone(), out tupleScope)); - - UUID itemKey = key.equals(UUID.Empty) ? null : key; - Reference tempReference_tupleScope3 = - new Reference(tupleScope); - RowCursor nullableScope; - Out tempOut_nullableScope3 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope3, - tupleType.getTypeArgs().get(0).clone(), itemKey, tempOut_nullableScope3)); - nullableScope = tempOut_nullableScope3.get(); - tupleScope = tempReference_tupleScope3.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert tupleScope.MoveNext(row, ref nullableScope); - Reference tempReference_tupleScope4 = - new Reference(tupleScope); - Out tempOut_nullableScope4 = - new Out(); - ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope4, - tupleType.getTypeArgs().get(1).clone(), itemValue, tempOut_nullableScope4)); - nullableScope = tempOut_nullableScope4.get(); - tupleScope = tempReference_tupleScope4.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !tupleScope.MoveNext(row, ref nullableScope); - - Reference tempReference_outerScope9 = - new Reference(outerScope); - Reference tempReference_temp3 = - new Reference(temp); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_outerScope9, - tempReference_temp3)); - temp = tempReference_temp3.get(); - outerScope = tempReference_outerScope9.get(); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Nullables - private final static class Nullables { - public ArrayList NullArray; - public ArrayList NullBool; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public Dictionary> NullMap; - public HashMap NullMap; - public ArrayList<(Integer,Long)>NullTuple - public ArrayList NullSet; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Nullables; - Nullables nullables = tempVar ? (Nullables)obj : null; - return tempVar && this.equals(nullables); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = 0; - hashCode = (hashCode * 397) ^ (this.NullBool == null ? null : this.NullBool.hashCode() != null ? this.NullBool.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.NullSet == null ? null : this.NullSet.hashCode() != null ? this.NullSet.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.NullArray == null ? null : this.NullArray.hashCode() != null ? this.NullArray.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.NullTuple == null ? null : this.NullTuple.hashCode() != null ? this.NullTuple.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.NullMap == null ? null : this.NullMap.hashCode() != null ? this.NullMap.hashCode() : 0); - return hashCode; - } - } - - private static boolean MapEquals(HashMap left, HashMap right) { - if (left.size() != right.size()) { - return false; - } - - for (Map.Entry item : left.entrySet()) { - TValue value; - if (!(right.containsKey(item.getKey()) && (value = right.get(item.getKey())) == value)) { - return false; - } - - if (!item.getValue().equals(value)) { - return false; - } - } - - return true; - } - - private boolean equals(Nullables other) { - //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': - //ORIGINAL LINE: return (object.ReferenceEquals(this.NullBool, other.NullBool) || ((this.NullBool != null) && (other.NullBool != null) && this.NullBool.SequenceEqual(other.NullBool))) && (object.ReferenceEquals(this.NullSet, other.NullSet) || ((this.NullSet != null) && (other.NullSet != null) && this.NullSet.SequenceEqual(other.NullSet))) && (object.ReferenceEquals(this.NullArray, other.NullArray) || ((this.NullArray != null) && (other.NullArray != null) && this.NullArray.SequenceEqual(other.NullArray))) && (object.ReferenceEquals(this.NullTuple, other.NullTuple) || ((this.NullTuple != null) && (other.NullTuple != null) && this.NullTuple.SequenceEqual(other.NullTuple))) && (object.ReferenceEquals(this.NullMap, other.NullMap) || ((this.NullMap != null) && (other.NullMap != null) && Nullables.MapEquals(this.NullMap, other.NullMap))); - return (this.NullBool == other.NullBool || ((this.NullBool != null) && (other.NullBool != null) && this.NullBool.equals(other.NullBool))) && (this.NullSet == other.NullSet || ((this.NullSet != null) && (other.NullSet != null) && this.NullSet.equals(other.NullSet))) && (this.NullArray == other.NullArray || ((this.NullArray != null) && (other.NullArray != null) && this.NullArray.equals(other.NullArray))) && (this.NullTuple == other.NullTuple || ((this.NullTuple != null) && (other.NullTuple != null) && this.NullTuple.equals(other.NullTuple))) && (this.NullMap == other.NullMap || ((this.NullMap != null) && (other.NullMap != null) && Nullables.MapEquals(this.NullMap, other.NullMap))); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.RowCursors; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +// ReSharper disable StringLiteralTypo + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(NullableUnitTests.SchemaFile, "TestData")] public sealed class +// NullableUnitTests +public final class NullableUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\NullableSchema.json"; + private Layout layout; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateNullables() + public void CreateNullables() { + RowBuffer row = new RowBuffer(NullableUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + Nullables t1 = new Nullables(); + t1.NullBool = new ArrayList(Arrays.asList(true, false, null)); + t1.NullArray = new ArrayList(Arrays.asList(1.2F, null, 3.0F)); + t1.NullSet = new ArrayList(Arrays.asList(null, "abc", "def")); + t1.NullTuple = new ArrayList<(Integer, Long) > (Arrays.asList((1, 2), (null, 3),(4, null),(null, null))) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: t1.NullMap = new Dictionary> { { System.GuidCodec.Parse + // ("{00000000-0000-0000-0000-000000000000}"), 1 }, { System.GuidCodec.Parse + // ("{4674962B-CE11-4916-81C5-0421EE36F168}"), 20 }, { System.GuidCodec.Parse + // ("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), null }}; + t1.NullMap = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{00000000-0000-0000-0000" + + "-000000000000}"), 1), Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"), 20), + Map.entry(UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), null))); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteNullables(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Nullables t2 = this.ReadNullables(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert t1 == t2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(NullableUnitTests.SchemaFile); + this.schema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.schema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Nullables")).SchemaId); + } + + // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: + //ORIGINAL LINE: private static Result ReadNullable(ref RowBuffer row, ref RowCursor scope, TypeArgument + // itemType, out Nullable item, out RowCursor nullableScope) where TValue : struct + private static Result ReadNullable(Reference row, + Reference scope, TypeArgument itemType, + Out item, + Out nullableScope) { + TValue value; + Out tempOut_value = new Out(); + Result r = NullableUnitTests.ReadNullableImpl(row, scope, itemType.clone(), tempOut_value, + nullableScope.clone()); + value = tempOut_value.get(); + if ((r != Result.SUCCESS) && (r != Result.NOT_FOUND)) { + item.setAndGet(null); + return r; + } + + item.setAndGet((r == Result.NOT_FOUND) ? null : value); + return Result.SUCCESS; + } + + private static Result ReadNullable(Reference row, + Reference scope, TypeArgument itemType, + Out item, + Out nullableScope) { + Result r = NullableUnitTests.ReadNullableImpl(row, scope, itemType.clone(), item, nullableScope.clone()); + return (r == Result.NOT_FOUND) ? Result.SUCCESS : r; + } + + private static Result ReadNullableImpl(Reference row, + Reference scope, TypeArgument itemType, + Out item, + Out nullableScope) { + Result r = itemType.getType().TypeAs().ReadScope(row, scope, nullableScope.clone()); + if (r != Result.SUCCESS) { + item.setAndGet(null); + return r; + } + + if (RowCursors.moveNext(nullableScope.get().clone(), row)) { + ResultAssert.IsSuccess(LayoutNullable.HasValue(row, nullableScope.clone())); + return itemType.getTypeArgs().get(0).getType().>TypeAs().ReadSparse(row, + nullableScope.clone(), item); + } + + ResultAssert.NotFound(LayoutNullable.HasValue(row, nullableScope.clone())); + item.setAndGet(null); + return Result.NOT_FOUND; + } + + private Nullables ReadNullables(Reference row, Reference root) { + Nullables value = new Nullables(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nullbool", out c); + RowCursor scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { + value.NullBool = new ArrayList(); + RowCursor nullableScope = null; + Reference tempReference_nullableScope = + new Reference(nullableScope); + while (scope.MoveNext(row, tempReference_nullableScope)) { + nullableScope = tempReference_nullableScope.get(); + Reference tempReference_scope = + new Reference(scope); + Nullable item; + Out tempOut_item = new Out(); + Out tempOut_nullableScope = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope, c.TypeArgs[0], tempOut_item + , tempOut_nullableScope)); + nullableScope = tempOut_nullableScope.get(); + item = tempOut_item.get(); + scope = tempReference_scope.get(); + value.NullBool.add(item); + } + nullableScope = tempReference_nullableScope.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nullarray", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { + value.NullArray = new ArrayList(); + RowCursor nullableScope = null; + Reference tempReference_nullableScope2 = + new Reference(nullableScope); + while (scope.MoveNext(row, tempReference_nullableScope2)) { + nullableScope = tempReference_nullableScope2.get(); + Reference tempReference_scope2 = + new Reference(scope); + Nullable item; + Out tempOut_item2 = new Out(); + Out tempOut_nullableScope2 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope2, c.TypeArgs[0], + tempOut_item2, tempOut_nullableScope2)); + nullableScope = tempOut_nullableScope2.get(); + item = tempOut_item2.get(); + scope = tempReference_scope2.get(); + value.NullArray.add(item); + } + nullableScope = tempReference_nullableScope2.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nullset", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { + value.NullSet = new ArrayList(); + RowCursor nullableScope = null; + Reference tempReference_nullableScope3 = + new Reference(nullableScope); + while (scope.MoveNext(row, tempReference_nullableScope3)) { + nullableScope = tempReference_nullableScope3.get(); + Reference tempReference_scope3 = + new Reference(scope); + String item; + Out tempOut_item3 = new Out(); + Out tempOut_nullableScope3 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_scope3, c.TypeArgs[0], + tempOut_item3, tempOut_nullableScope3)); + nullableScope = tempOut_nullableScope3.get(); + item = tempOut_item3.get(); + scope = tempReference_scope3.get(); + value.NullSet.add(item); + } + nullableScope = tempReference_nullableScope3.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nulltuple", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { + value.NullTuple = new ArrayList<(Integer, Long) > (); + RowCursor tupleScope = null; + TypeArgument tupleType = c.TypeArgs[0]; + Reference tempReference_tupleScope = + new Reference(tupleScope); + while (scope.MoveNext(row, tempReference_tupleScope)) { + tupleScope = tempReference_tupleScope.get(); + Reference tempReference_scope4 = + new Reference(scope); + Out tempOut_tupleScope = + new Out(); + ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, tempReference_scope4, + tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + scope = tempReference_scope4.get(); + + assert RowCursors.moveNext(tupleScope.clone() + , row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + Nullable item1; + Out tempOut_item1 = new Out(); + RowCursor nullableScope; + Out tempOut_nullableScope4 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope2, + tupleType.getTypeArgs().get(0).clone(), tempOut_item1, tempOut_nullableScope4)); + nullableScope = tempOut_nullableScope4.get(); + item1 = tempOut_item1.get(); + tupleScope = tempReference_tupleScope2.get(); + Reference tempReference_nullableScope4 = + new Reference(nullableScope); + assert RowCursors.moveNext(tupleScope.clone() + , row, tempReference_nullableScope4); + nullableScope = tempReference_nullableScope4.get(); + Reference tempReference_tupleScope3 = + new Reference(tupleScope); + Nullable item2; + Out tempOut_item2 = new Out(); + Out tempOut_nullableScope5 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope3, + tupleType.getTypeArgs().get(1).clone(), tempOut_item2, tempOut_nullableScope5)); + nullableScope = tempOut_nullableScope5.get(); + item2 = tempOut_item2.get(); + tupleScope = tempReference_tupleScope3.get(); + + Reference tempReference_nullableScope5 = + new Reference(nullableScope); + assert !RowCursors.moveNext(tupleScope.clone(), row, tempReference_nullableScope5); + nullableScope = tempReference_nullableScope5.get(); + value.NullTuple.add((item1, item2)) + } + tupleScope = tempReference_tupleScope.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nullmap", out c); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref scope, out scope) == Result.SUCCESS) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: value.NullMap = new Dictionary>(); + value.NullMap = new HashMap(); + RowCursor tupleScope = null; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + TypeArgument tupleType = c.typeAs().FieldType(ref scope); + Reference tempReference_tupleScope4 = + new Reference(tupleScope); + while (scope.MoveNext(row, tempReference_tupleScope4)) { + tupleScope = tempReference_tupleScope4.get(); + Reference tempReference_scope5 = + new Reference(scope); + Out tempOut_tupleScope2 = + new Out(); + ResultAssert.IsSuccess(tupleType.TypeAs().ReadScope(row, tempReference_scope5, + tempOut_tupleScope2)); + tupleScope = tempOut_tupleScope2.get(); + scope = tempReference_scope5.get(); + + assert RowCursors.moveNext(tupleScope.clone() + , row); + Reference tempReference_tupleScope5 = + new Reference(tupleScope); + Nullable itemKey; + Out tempOut_itemKey = new Out(); + RowCursor nullableScope; + Out tempOut_nullableScope6 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope5, + tupleType.getTypeArgs().get(0).clone(), tempOut_itemKey, tempOut_nullableScope6)); + nullableScope = tempOut_nullableScope6.get(); + itemKey = tempOut_itemKey.get(); + tupleScope = tempReference_tupleScope5.get(); + + Reference tempReference_nullableScope6 = + new Reference(nullableScope); + assert RowCursors.moveNext(tupleScope.clone() + , row, tempReference_nullableScope6); + nullableScope = tempReference_nullableScope6.get(); + Reference tempReference_tupleScope6 = + new Reference(tupleScope); + Nullable itemValue; + Out tempOut_itemValue = new Out(); + Out tempOut_nullableScope7 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.ReadNullable(row, tempReference_tupleScope6, + tupleType.getTypeArgs().get(1).clone(), tempOut_itemValue, tempOut_nullableScope7)); + nullableScope = tempOut_nullableScope7.get(); + itemValue = tempOut_itemValue.get(); + tupleScope = tempReference_tupleScope6.get(); + + Reference tempReference_nullableScope7 = + new Reference(nullableScope); + assert !RowCursors.moveNext(tupleScope.clone(), row, tempReference_nullableScope7); + nullableScope = tempReference_nullableScope7.get(); + value.NullMap.put(itemKey != null ? itemKey : UUID.Empty, itemValue); + } + tupleScope = tempReference_tupleScope4.get(); + } + + return value; + } + + // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: + //ORIGINAL LINE: private static Result WriteNullable(ref RowBuffer row, ref RowCursor scope, TypeArgument + // itemType, Nullable item, out RowCursor nullableScope) where TValue : struct + private static Result WriteNullable(Reference row, + Reference scope, TypeArgument itemType, + TValue item, Out nullableScope) { + return NullableUnitTests.WriteNullableImpl(row, scope, itemType.clone(), item != null, item != null ? item : + default,nullableScope.clone()) + } + + private static Result WriteNullable(Reference row, + Reference scope, TypeArgument itemType, + TValue item, Out nullableScope) { + return NullableUnitTests.WriteNullableImpl(row, scope, itemType.clone(), item != null, item, + nullableScope.clone()); + } + + private static Result WriteNullableImpl(Reference row, + Reference scope, TypeArgument itemType, + boolean hasValue, TValue item, + Out nullableScope) { + Result r = itemType.TypeAs().WriteScope(row, scope, itemType.getTypeArgs().clone(), hasValue, + nullableScope); + + if (r != Result.SUCCESS) { + return r; + } + + if (hasValue) { + r = itemType.getTypeArgs().get(0).getType().>TypeAs().WriteSparse(row, + nullableScope.clone(), item); + return r; + } + + return Result.SUCCESS; + } + + private void WriteNullables(Reference row, Reference root, + Nullables value) { + LayoutColumn c; + + if (value.NullBool != null) { + Out tempOut_c = + new Out(); + assert this.layout.TryFind("nullbool", tempOut_c); + c = tempOut_c.get(); + RowCursor outerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out outerScope).Find(row, c.path()); + Reference tempReference_outerScope = + new Reference(outerScope); + Out tempOut_outerScope = + new Out(); + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope, + c.typeArgs().clone(), tempOut_outerScope)); + outerScope = tempOut_outerScope.get(); + outerScope = tempReference_outerScope.get(); + for (Boolean item : value.NullBool) { + Reference tempReference_outerScope2 = + new Reference(outerScope); + RowCursor innerScope; + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_outerScope2, + c.typeArgs().get(0).clone(), item, tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + outerScope = tempReference_outerScope2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !outerScope.MoveNext(row, ref innerScope); + } + } + + if (value.NullArray != null) { + Out tempOut_c2 = + new Out(); + assert this.layout.TryFind("nullarray", tempOut_c2); + c = tempOut_c2.get(); + RowCursor outerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out outerScope).Find(row, c.path()); + Reference tempReference_outerScope3 = + new Reference(outerScope); + Out tempOut_outerScope2 = + new Out(); + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope3, + c.typeArgs().clone(), tempOut_outerScope2)); + outerScope = tempOut_outerScope2.get(); + outerScope = tempReference_outerScope3.get(); + for (Float item : value.NullArray) { + Reference tempReference_outerScope4 = + new Reference(outerScope); + RowCursor innerScope; + Out tempOut_innerScope2 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_outerScope4, + c.typeArgs().get(0).clone(), item, tempOut_innerScope2)); + innerScope = tempOut_innerScope2.get(); + outerScope = tempReference_outerScope4.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !outerScope.MoveNext(row, ref innerScope); + } + } + + if (value.NullSet != null) { + Out tempOut_c3 = + new Out(); + assert this.layout.TryFind("nullset", tempOut_c3); + c = tempOut_c3.get(); + RowCursor outerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out outerScope).Find(row, c.path()); + Reference tempReference_outerScope5 = + new Reference(outerScope); + Out tempOut_outerScope3 = + new Out(); + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope5, + c.typeArgs().clone(), tempOut_outerScope3)); + outerScope = tempOut_outerScope3.get(); + outerScope = tempReference_outerScope5.get(); + for (String item : value.NullSet) { + RowCursor temp; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + RowCursor.createForAppend(row, out temp).Find(row, ""); + Reference tempReference_temp = + new Reference(temp); + RowCursor _; + Out tempOut__ = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_temp, + c.typeArgs().get(0).clone(), item, tempOut__)); + _ = tempOut__.get(); + temp = tempReference_temp.get(); + Reference tempReference_outerScope6 = + new Reference(outerScope); + Reference tempReference_temp2 = + new Reference(temp); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_outerScope6, + tempReference_temp2)); + temp = tempReference_temp2.get(); + outerScope = tempReference_outerScope6.get(); + } + } + + if (value.NullTuple != null) { + Out tempOut_c4 = + new Out(); + assert this.layout.TryFind("nulltuple", tempOut_c4); + c = tempOut_c4.get(); + RowCursor outerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out outerScope).Find(row, c.path()); + Reference tempReference_outerScope7 = + new Reference(outerScope); + Out tempOut_outerScope4 = + new Out(); + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, tempReference_outerScope7, + c.typeArgs().clone(), tempOut_outerScope4)); + outerScope = tempOut_outerScope4.get(); + outerScope = tempReference_outerScope7.get(); + for ((Integer item1,Long item2) :value.NullTuple) + { + TypeArgument tupleType = c.typeArgs().get(0).clone(); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref outerScope, + tupleType.getTypeArgs().clone(), out tupleScope)); + + Reference tempReference_tupleScope = + new Reference(tupleScope); + RowCursor nullableScope; + Out tempOut_nullableScope = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope, + tupleType.getTypeArgs().get(0).clone(), item1, tempOut_nullableScope)); + nullableScope = tempOut_nullableScope.get(); + tupleScope = tempReference_tupleScope.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert tupleScope.MoveNext(row, ref nullableScope); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + Out tempOut_nullableScope2 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope2, + tupleType.getTypeArgs().get(1).clone(), item2, tempOut_nullableScope2)); + nullableScope = tempOut_nullableScope2.get(); + tupleScope = tempReference_tupleScope2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !tupleScope.MoveNext(row, ref nullableScope); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !outerScope.MoveNext(row, ref tupleScope); + } + } + + if (value.NullMap != null) { + Out tempOut_c5 = + new Out(); + assert this.layout.TryFind("nullmap", tempOut_c5); + c = tempOut_c5.get(); + RowCursor outerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out outerScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref outerScope, + c.typeArgs().clone(), out outerScope)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: foreach ((GuidCodec key, Nullable itemValue) in value.NullMap) + for ((UUID key,Byte itemValue) :value.NullMap) + { + Reference tempReference_outerScope8 = + new Reference(outerScope); + TypeArgument tupleType = c.typeAs().FieldType(tempReference_outerScope8).clone(); + outerScope = tempReference_outerScope8.get(); + RowCursor temp; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + RowCursor.createForAppend(row, out temp).Find(row, ""); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(tupleType.TypeAs().WriteScope(row, ref temp, + tupleType.getTypeArgs().clone(), out tupleScope)); + + UUID itemKey = key.equals(UUID.Empty) ? null : key; + Reference tempReference_tupleScope3 = + new Reference(tupleScope); + RowCursor nullableScope; + Out tempOut_nullableScope3 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope3, + tupleType.getTypeArgs().get(0).clone(), itemKey, tempOut_nullableScope3)); + nullableScope = tempOut_nullableScope3.get(); + tupleScope = tempReference_tupleScope3.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert tupleScope.MoveNext(row, ref nullableScope); + Reference tempReference_tupleScope4 = + new Reference(tupleScope); + Out tempOut_nullableScope4 = + new Out(); + ResultAssert.IsSuccess(NullableUnitTests.WriteNullable(row, tempReference_tupleScope4, + tupleType.getTypeArgs().get(1).clone(), itemValue, tempOut_nullableScope4)); + nullableScope = tempOut_nullableScope4.get(); + tupleScope = tempReference_tupleScope4.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !tupleScope.MoveNext(row, ref nullableScope); + + Reference tempReference_outerScope9 = + new Reference(outerScope); + Reference tempReference_temp3 = + new Reference(temp); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_outerScope9, + tempReference_temp3)); + temp = tempReference_temp3.get(); + outerScope = tempReference_outerScope9.get(); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Nullables + private final static class Nullables { + public ArrayList NullArray; + public ArrayList NullBool; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public Dictionary> NullMap; + public HashMap NullMap; + public ArrayList<(Integer,Long)>NullTuple + public ArrayList NullSet; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Nullables; + Nullables nullables = tempVar ? (Nullables)obj : null; + return tempVar && this.equals(nullables); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = 0; + hashCode = (hashCode * 397) ^ (this.NullBool == null ? null : this.NullBool.hashCode() != null ? this.NullBool.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.NullSet == null ? null : this.NullSet.hashCode() != null ? this.NullSet.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.NullArray == null ? null : this.NullArray.hashCode() != null ? this.NullArray.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.NullTuple == null ? null : this.NullTuple.hashCode() != null ? this.NullTuple.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.NullMap == null ? null : this.NullMap.hashCode() != null ? this.NullMap.hashCode() : 0); + return hashCode; + } + } + + private static boolean MapEquals(HashMap left, HashMap right) { + if (left.size() != right.size()) { + return false; + } + + for (Map.Entry item : left.entrySet()) { + TValue value; + if (!(right.containsKey(item.getKey()) && (value = right.get(item.getKey())) == value)) { + return false; + } + + if (!item.getValue().equals(value)) { + return false; + } + } + + return true; + } + + private boolean equals(Nullables other) { + //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': + //ORIGINAL LINE: return (object.ReferenceEquals(this.NullBool, other.NullBool) || ((this.NullBool != null) && (other.NullBool != null) && this.NullBool.SequenceEqual(other.NullBool))) && (object.ReferenceEquals(this.NullSet, other.NullSet) || ((this.NullSet != null) && (other.NullSet != null) && this.NullSet.SequenceEqual(other.NullSet))) && (object.ReferenceEquals(this.NullArray, other.NullArray) || ((this.NullArray != null) && (other.NullArray != null) && this.NullArray.SequenceEqual(other.NullArray))) && (object.ReferenceEquals(this.NullTuple, other.NullTuple) || ((this.NullTuple != null) && (other.NullTuple != null) && this.NullTuple.SequenceEqual(other.NullTuple))) && (object.ReferenceEquals(this.NullMap, other.NullMap) || ((this.NullMap != null) && (other.NullMap != null) && Nullables.MapEquals(this.NullMap, other.NullMap))); + return (this.NullBool == other.NullBool || ((this.NullBool != null) && (other.NullBool != null) && this.NullBool.equals(other.NullBool))) && (this.NullSet == other.NullSet || ((this.NullSet != null) && (other.NullSet != null) && this.NullSet.equals(other.NullSet))) && (this.NullArray == other.NullArray || ((this.NullArray != null) && (other.NullArray != null) && this.NullArray.equals(other.NullArray))) && (this.NullTuple == other.NullTuple || ((this.NullTuple != null) && (other.NullTuple != null) && this.NullTuple.equals(other.NullTuple))) && (this.NullMap == other.NullMap || ((this.NullMap != null) && (other.NullMap != null) && Nullables.MapEquals(this.NullMap, other.NullMap))); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java index 58ace1e..5e3d4b9 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/PermuteExtensions.java @@ -1,33 +1,33 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -/** - * Extension methods for computing permutations of {@link IEnumerable{T}}. - */ -public final class PermuteExtensions { - /** - * Generate all permutations of a given enumerable. - */ - public static java.lang.Iterable> Permute(java.lang.Iterable list) { - int start = 0; - for (T element : list) { - int index = start; - T[] first = { element }; - java.lang.Iterable rest = list.Where((s, i) -> i != index); - if (!rest.Any()) { - // TODO: C# TO JAVA CONVERTER: Java does not have an equivalent to the C# 'yield' keyword: - yield return first; - } - - for (java.lang.Iterable sub : - PermuteExtensions.Permute(rest)) { - // TODO: C# TO JAVA CONVERTER: Java does not have an equivalent to the C# 'yield' keyword: - yield return first.Concat(sub); - } - - start++; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +/** + * Extension methods for computing permutations of {@link IEnumerable{T}}. + */ +public final class PermuteExtensions { + /** + * Generate all permutations of a given enumerable. + */ + public static java.lang.Iterable> Permute(java.lang.Iterable list) { + int start = 0; + for (T element : list) { + int index = start; + T[] first = { element }; + java.lang.Iterable rest = list.Where((s, i) -> i != index); + if (!rest.Any()) { + // TODO: C# TO JAVA CONVERTER: Java does not have an equivalent to the C# 'yield' keyword: + yield return first; + } + + for (java.lang.Iterable sub : + PermuteExtensions.Permute(rest)) { + // TODO: C# TO JAVA CONVERTER: Java does not have an equivalent to the C# 'yield' keyword: + yield return first.Concat(sub); + } + + start++; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java index 0d9700c..322c6f1 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RandomGeneratorUnitTests.java @@ -1,77 +1,77 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import java.util.Random; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class RandomGeneratorUnitTests -public class RandomGeneratorUnitTests { - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void RangeTest() - public final void RangeTest() { - int seed = 42; - RandomGenerator rand = new RandomGenerator(new Random(seed)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ulong l1 = rand.NextUInt64(); - long l1 = rand.NextUInt64(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ulong l2 = rand.NextUInt64(); - long l2 = rand.NextUInt64(); - assert l1 != l2; - - System.out.println("Check full range of min/max for ushort."); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: for (int min = 0; min <= ushort.MaxValue; min++) - for (int min = 0; min <= Short.MAX_VALUE; min++) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ushort i1 = rand.NextUInt16((ushort)min, ushort.MaxValue); - short i1 = rand.NextUInt16((short)min, Short.MAX_VALUE); - assert i1 >= min; - } - - System.out.println("Check ushort range of min/max for uint."); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: for (uint min = 0; min <= (uint)ushort.MaxValue; min++) - for (int min = 0; min <= (int)Short.MAX_VALUE; min++) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: uint i1 = rand.NextUInt32(min, (uint)ushort.MaxValue); - int i1 = rand.NextUInt32(min, (int)Short.MAX_VALUE); - assert i1 >= min; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: Assert.IsTrue(i1 <= ushort.MaxValue); - assert i1 <= Short.MAX_VALUE; - } - - boolean seenMax = false; - boolean seenMin = false; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: const ushort maxUShortRange = 10; - final short maxUShortRange = 10; - System.out.println("Check inclusivity for ushort."); - while (!(seenMax && seenMin)) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ushort i1 = rand.NextUInt16(ushort.MinValue, maxUShortRange); - short i1 = rand.NextUInt16(Short.MIN_VALUE, maxUShortRange); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: seenMin = seenMin || i1 == ushort.MinValue; - seenMin = seenMin || i1 == Short.MIN_VALUE; - seenMax = seenMax || i1 == maxUShortRange; - assert i1 <= maxUShortRange; - } - - seenMax = false; - seenMin = false; - System.out.println("Check inclusivity for short."); - final short minShortRange = -10; - final short maxShortRange = 10; - while (!(seenMax && seenMin)) { - short i1 = rand.NextInt16(minShortRange, maxShortRange); - seenMin = seenMin || i1 == -10; - seenMax = seenMax || i1 == 10; - assert i1 >= minShortRange; - assert i1 <= maxShortRange; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import java.util.Random; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class RandomGeneratorUnitTests +public class RandomGeneratorUnitTests { + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void RangeTest() + public final void RangeTest() { + int seed = 42; + RandomGenerator rand = new RandomGenerator(new Random(seed)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ulong l1 = rand.NextUInt64(); + long l1 = rand.NextUInt64(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ulong l2 = rand.NextUInt64(); + long l2 = rand.NextUInt64(); + assert l1 != l2; + + System.out.println("Check full range of min/max for ushort."); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: for (int min = 0; min <= ushort.MaxValue; min++) + for (int min = 0; min <= Short.MAX_VALUE; min++) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ushort i1 = rand.NextUInt16((ushort)min, ushort.MaxValue); + short i1 = rand.NextUInt16((short)min, Short.MAX_VALUE); + assert i1 >= min; + } + + System.out.println("Check ushort range of min/max for uint."); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: for (uint min = 0; min <= (uint)ushort.MaxValue; min++) + for (int min = 0; min <= (int)Short.MAX_VALUE; min++) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: uint i1 = rand.NextUInt32(min, (uint)ushort.MaxValue); + int i1 = rand.NextUInt32(min, (int)Short.MAX_VALUE); + assert i1 >= min; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: Assert.IsTrue(i1 <= ushort.MaxValue); + assert i1 <= Short.MAX_VALUE; + } + + boolean seenMax = false; + boolean seenMin = false; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: const ushort maxUShortRange = 10; + final short maxUShortRange = 10; + System.out.println("Check inclusivity for ushort."); + while (!(seenMax && seenMin)) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ushort i1 = rand.NextUInt16(ushort.MinValue, maxUShortRange); + short i1 = rand.NextUInt16(Short.MIN_VALUE, maxUShortRange); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: seenMin = seenMin || i1 == ushort.MinValue; + seenMin = seenMin || i1 == Short.MIN_VALUE; + seenMax = seenMax || i1 == maxUShortRange; + assert i1 <= maxUShortRange; + } + + seenMax = false; + seenMin = false; + System.out.println("Check inclusivity for short."); + final short minShortRange = -10; + final short maxShortRange = 10; + while (!(seenMax && seenMin)) { + short i1 = rand.NextInt16(minShortRange, maxShortRange); + seenMin = seenMin || i1 == -10; + seenMax = seenMax || i1 == 10; + assert i1 >= minShortRange; + assert i1 <= maxShortRange; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java index edcb1f7..4e33d55 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ReadRowDispatcher.java @@ -1,239 +1,239 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedArray; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; - -import java.util.Collection; -import java.util.List; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal struct ReadRowDispatcher : IDispatcher -public final class ReadRowDispatcher implements IDispatcher { - - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { - Dispatch(dispatcher, root, col, t, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, - // LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType - public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue expected) { - TValue value; - switch (col == null ? null : col.getStorage()) { - case Fixed: - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - Out tempOut_value = new Out(); - ResultAssert.IsSuccess(t.typeAs().readFixed(tempReference_Row, root, col, tempOut_value)); - value = tempOut_value.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - break; - case Variable: - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - Out tempOut_value2 = new Out(); - ResultAssert.IsSuccess(t.typeAs().readVariable(tempReference_Row2, root, col, tempOut_value2)); - value = tempOut_value2.get(); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - break; - default: - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - Out tempOut_value3 = new Out(); - ResultAssert.IsSuccess(t.typeAs().readSparse(tempReference_Row3, root, tempOut_value3)); - value = tempOut_value3.get(); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - break; - } - - if (TValue.class.IsArray) { - CollectionAssert.AreEqual((Collection)expected, (Collection)value); - } else { - assert expected == value; - } - } - - public void DispatchArray(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor arrayScope; - Out tempOut_arrayScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_arrayScope)); - arrayScope = tempOut_arrayScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - int i = 0; - List items = (List)value; - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - while (arrayScope.MoveNext(tempReference_Row2)) { - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), items.get(i++)); - } - dispatcher.get().argValue.Row = tempReference_Row2.get(); - } - - public void DispatchMap(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 2); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor mapScope; - Out tempOut_mapScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_mapScope)); - mapScope = tempOut_mapScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - int i = 0; - List items = (List)value; - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - while (mapScope.MoveNext(tempReference_Row2)) { - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref mapScope, null, LayoutType.TypedTuple, typeArgs.clone(), - items.get(i++)); - } - dispatcher.get().argValue.Row = tempReference_Row2.get(); - } - - public void DispatchNullable(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor nullableScope; - Out tempOut_nullableScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_nullableScope)); - nullableScope = tempOut_nullableScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - if (value != null) { - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - Reference tempReference_nullableScope = - new Reference(nullableScope); - ResultAssert.IsSuccess(LayoutNullable.HasValue(tempReference_Row2, tempReference_nullableScope)); - nullableScope = tempReference_nullableScope.get(); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - nullableScope.MoveNext(tempReference_Row3); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref nullableScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), value); - } else { - Reference tempReference_Row4 = - new Reference(dispatcher.get().Row); - Reference tempReference_nullableScope2 = - new Reference(nullableScope); - ResultAssert.NotFound(LayoutNullable.HasValue(tempReference_Row4, tempReference_nullableScope2)); - nullableScope = tempReference_nullableScope2.get(); - dispatcher.get().argValue.Row = tempReference_Row4.get(); - } - } - - public void DispatchObject(Reference dispatcher, - Reference scope) { - } - - public void DispatchSet(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor setScope; - Out tempOut_setScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_setScope)); - setScope = tempOut_setScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - int i = 0; - List items = (List)value; - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - while (setScope.MoveNext(tempReference_Row2)) { - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref setScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), items.get(i++)); - } - dispatcher.get().argValue.Row = tempReference_Row2.get(); - } - - public void DispatchTuple(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() >= 2); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor tupleScope; - Out tempOut_tupleScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - for (int i = 0; i < typeArgs.count(); i++) { - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - tupleScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - PropertyInfo valueAccessor = value.getClass().GetProperty(String.format("Item%1$s", i + 1)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref tupleScope, null, typeArgs.get(i).type(), - typeArgs.get(i).typeArgs().clone(), valueAccessor.GetValue(value)); - } - } - - public void DispatchUDT(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - Reference tempReference_Row = new Reference(dispatcher.get().Row); - RowCursor udtScope; - Out tempOut_udtScope = new Out(); - ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_udtScope)); - udtScope = tempOut_udtScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - IDispatchable valueDispatcher = value instanceof IDispatchable ? (IDispatchable)value : null; - assert valueDispatcher != null; - Reference tempReference_udtScope = new Reference(udtScope); - valueDispatcher.Dispatch(dispatcher, tempReference_udtScope); - udtScope = tempReference_udtScope.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedArray; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; + +import java.util.Collection; +import java.util.List; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal struct ReadRowDispatcher : IDispatcher +public final class ReadRowDispatcher implements IDispatcher { + + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t) { + Dispatch(dispatcher, root, col, t, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor root, + // LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType + public , TValue> void Dispatch(Reference dispatcher, Reference root, LayoutColumn col, LayoutType t, TValue expected) { + TValue value; + switch (col == null ? null : col.getStorage()) { + case Fixed: + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + Out tempOut_value = new Out(); + ResultAssert.IsSuccess(t.typeAs().readFixed(tempReference_Row, root, col, tempOut_value)); + value = tempOut_value.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + break; + case Variable: + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + Out tempOut_value2 = new Out(); + ResultAssert.IsSuccess(t.typeAs().readVariable(tempReference_Row2, root, col, tempOut_value2)); + value = tempOut_value2.get(); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + break; + default: + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + Out tempOut_value3 = new Out(); + ResultAssert.IsSuccess(t.typeAs().readSparse(tempReference_Row3, root, tempOut_value3)); + value = tempOut_value3.get(); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + break; + } + + if (TValue.class.IsArray) { + CollectionAssert.AreEqual((Collection)expected, (Collection)value); + } else { + assert expected == value; + } + } + + public void DispatchArray(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor arrayScope; + Out tempOut_arrayScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_arrayScope)); + arrayScope = tempOut_arrayScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + int i = 0; + List items = (List)value; + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + while (arrayScope.MoveNext(tempReference_Row2)) { + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), items.get(i++)); + } + dispatcher.get().argValue.Row = tempReference_Row2.get(); + } + + public void DispatchMap(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 2); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor mapScope; + Out tempOut_mapScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_mapScope)); + mapScope = tempOut_mapScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + int i = 0; + List items = (List)value; + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + while (mapScope.MoveNext(tempReference_Row2)) { + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref mapScope, null, LayoutType.TypedTuple, typeArgs.clone(), + items.get(i++)); + } + dispatcher.get().argValue.Row = tempReference_Row2.get(); + } + + public void DispatchNullable(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor nullableScope; + Out tempOut_nullableScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_nullableScope)); + nullableScope = tempOut_nullableScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + if (value != null) { + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + Reference tempReference_nullableScope = + new Reference(nullableScope); + ResultAssert.IsSuccess(LayoutNullable.HasValue(tempReference_Row2, tempReference_nullableScope)); + nullableScope = tempReference_nullableScope.get(); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + nullableScope.MoveNext(tempReference_Row3); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref nullableScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), value); + } else { + Reference tempReference_Row4 = + new Reference(dispatcher.get().Row); + Reference tempReference_nullableScope2 = + new Reference(nullableScope); + ResultAssert.NotFound(LayoutNullable.HasValue(tempReference_Row4, tempReference_nullableScope2)); + nullableScope = tempReference_nullableScope2.get(); + dispatcher.get().argValue.Row = tempReference_Row4.get(); + } + } + + public void DispatchObject(Reference dispatcher, + Reference scope) { + } + + public void DispatchSet(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor setScope; + Out tempOut_setScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_setScope)); + setScope = tempOut_setScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + int i = 0; + List items = (List)value; + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + while (setScope.MoveNext(tempReference_Row2)) { + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref setScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), items.get(i++)); + } + dispatcher.get().argValue.Row = tempReference_Row2.get(); + } + + public void DispatchTuple(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() >= 2); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor tupleScope; + Out tempOut_tupleScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + for (int i = 0; i < typeArgs.count(); i++) { + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + tupleScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + PropertyInfo valueAccessor = value.getClass().GetProperty(String.format("Item%1$s", i + 1)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref tupleScope, null, typeArgs.get(i).type(), + typeArgs.get(i).typeArgs().clone(), valueAccessor.GetValue(value)); + } + } + + public void DispatchUDT(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + Reference tempReference_Row = new Reference(dispatcher.get().Row); + RowCursor udtScope; + Out tempOut_udtScope = new Out(); + ResultAssert.IsSuccess(t.typeAs().ReadScope(tempReference_Row, scope, tempOut_udtScope)); + udtScope = tempOut_udtScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + IDispatchable valueDispatcher = value instanceof IDispatchable ? (IDispatchable)value : null; + assert valueDispatcher != null; + Reference tempReference_udtScope = new Reference(udtScope); + valueDispatcher.Dispatch(dispatcher, tempReference_udtScope); + udtScope = tempReference_udtScope.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java index 82102c5..59a9cc6 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RecordIOUnitTests.java @@ -1,242 +1,242 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; -import com.azure.data.cosmos.serialization.hybridrow.io.Segment; -import com.azure.data.cosmos.serialization.hybridrow.unit.customerschema.Address; - -import java.nio.file.Files; -import java.util.ArrayList; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(RecordIOUnitTests.SchemaFile, "TestData")] public class RecordIOUnitTests -public class RecordIOUnitTests { - private static final int InitialRowSize = 0; - private static final String SchemaFile = "TestData\\CustomerSchema.json"; - private Layout addressLayout; - private Namespace ns; - private LayoutResolver resolver; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void LoadSchema() - public final void LoadSchema() { - LayoutResolver systemResolver = SystemSchema.LayoutResolver; - Layout segmentLayout = systemResolver.Resolve(SystemSchema.SegmentSchemaId); - assert segmentLayout.getName().equals("Segment"); - assert segmentLayout.getSchemaId().clone() == SystemSchema.SegmentSchemaId; - - Layout recordLayout = systemResolver.Resolve(SystemSchema.RecordSchemaId); - assert recordLayout.getName().equals("Record"); - assert recordLayout.getSchemaId().clone() == SystemSchema.RecordSchemaId; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public final void ParseNamespaceExample() { - String json = Files.readString(RecordIOUnitTests.SchemaFile); - this.ns = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.ns); - this.addressLayout = this.resolver.Resolve(tangible.ListHelper.find(this.ns.getSchemas(), x -> x.Name.equals( - "Address")).SchemaId); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public async Task RoundTripAsync() - // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public async Task RoundTripAsync() - public final Task RoundTripAsync() { - Address tempVar = new Address(); - tempVar.setStreet("300B Chocolate Hole"); - tempVar.setCity("Great Cruz Bay"); - tempVar.setState("VI"); - PostalCode tempVar2 = new PostalCode(); - tempVar2.setZip(00830); - tempVar2.setPlus4(0001); - tempVar.setPostalCode(tempVar2); - Address tempVar3 = new Address(); - tempVar3.setStreet("1 Microsoft Way"); - tempVar3.setCity("Redmond"); - tempVar3.setState("WA"); - PostalCode tempVar4 = new PostalCode(); - tempVar4.setZip(98052); - tempVar3.setPostalCode(tempVar4); - Address[] addresses = { tempVar, tempVar3 }; - - String sampleComment = "hello there"; - String sampleSDL = "some SDL"; - - try (Stream stm = new MemoryStream()) { - // Create a reusable, resizable buffer. - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(RecordIOUnitTests - // .InitialRowSize); - MemorySpanResizer resizer = new MemorySpanResizer(RecordIOUnitTests.InitialRowSize); - - // Write a RecordIO stream. - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'out' keyword - these are - // not converted by C# to Java Converter: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: Result r = await stm.WriteRecordIOAsync(new Segment(sampleComment, sampleSDL), (long - // index, out ReadOnlyMemory body) => - Result r = await - RecordIOStream.WriteRecordIOAsync(stm, - new Segment(sampleComment, sampleSDL), (long index, out ReadOnlyMemorybody) -> - { - body = null; - if (index >= addresses.length) { - return Result.SUCCESS; - } - - Out> tempOut_body = new Out>(); - Task tempVar5 = this.WriteAddress(resizer, addresses[index], tempOut_body); - body = tempOut_body.get(); - return tempVar5; - }); - - // Read a RecordIO stream. - ArrayList
addressesRead = new ArrayList
(); - stm.Position = 0; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: resizer = new MemorySpanResizer(1); - resizer = new MemorySpanResizer(1); - // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: - r = await - RecordIOStream.ReadRecordIOAsync(stm, record -> - { - assert !record.IsEmpty; - - Address obj; - Out
tempOut_obj = new Out
(); - r = this.ReadAddress(record, tempOut_obj); - obj = tempOut_obj.get(); - ResultAssert.IsSuccess(r); - addressesRead.add(obj); - return Result.SUCCESS; - }, segment -> - { - assert !segment.IsEmpty; - - Segment obj; - Out tempOut_obj = - new Out(); - r = this.ReadSegment(segment, tempOut_obj); - obj = tempOut_obj.get(); - ResultAssert.IsSuccess(r); - assert obj.comment() == sampleComment; - assert obj.sdl() == sampleSDL; - return Result.SUCCESS; - }, resizer); - - ResultAssert.IsSuccess(r); - - // Check that the values all round-tripped. - assert addresses.length == addressesRead.size(); - for (int i = 0; i < addresses.length; i++) { - assert addresses[i] == addressesRead.get(i); - } - } - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private Result ReadAddress(Memory buffer, out Address obj) - private Result ReadAddress(Memory buffer, Out
obj) { - RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, this.resolver); - Reference tempReference_row = - new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - - // Use the reader to dump to the screen. - Reference tempReference_reader = - new Reference(reader); - String str; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Result r = DiagnosticConverter.ReaderToString(tempReference_reader, out str); - reader = tempReference_reader.get(); - if (r != Result.SUCCESS) { - obj.setAndGet(null); - return r; - } - - System.out.println(str); - - // Reset the reader and materialize the object. - Reference tempReference_row2 = - new Reference(row); - reader = new RowReader(tempReference_row2); - row = tempReference_row2.get(); - Reference tempReference_reader2 = - new Reference(reader); - Result tempVar = AddressSerializer.Read(tempReference_reader2, obj); - reader = tempReference_reader2.get(); - return tempVar; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private Result ReadSegment(Memory buffer, out Segment obj) - private Result ReadSegment(Memory buffer, Out obj) { - RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, SystemSchema.LayoutResolver); - Reference tempReference_row = - new Reference(row); - RowReader reader = new RowReader(tempReference_row); - row = tempReference_row.get(); - - // Use the reader to dump to the screen. - Reference tempReference_reader = - new Reference(reader); - String str; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Result r = DiagnosticConverter.ReaderToString(tempReference_reader, out str); - reader = tempReference_reader.get(); - if (r != Result.SUCCESS) { - obj.setAndGet(null); - return r; - } - - System.out.println(str); - - // Reset the reader and materialize the object. - Reference tempReference_row2 = new Reference(row); - reader = new RowReader(tempReference_row2); - row = tempReference_row2.get(); - Reference tempReference_reader2 = new Reference(reader); - Result tempVar = SegmentSerializer.Read(tempReference_reader2, obj.clone()); - reader = tempReference_reader2.get(); - return tempVar; - } - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private Result WriteAddress(MemorySpanResizer resizer, Address obj, out - // ReadOnlyMemory buffer) - private Result WriteAddress(MemorySpanResizer resizer, Address obj, - Out> buffer) { - RowBuffer row = new RowBuffer(RecordIOUnitTests.InitialRowSize, resizer); - row.initLayout(HybridRowVersion.V1, this.addressLayout, this.resolver); - Reference tempReference_row = - new Reference(row); - Result r = RowWriter.WriteBuffer(tempReference_row, obj, AddressSerializer.Write); - row = tempReference_row.get(); - if (r != Result.SUCCESS) { - buffer.setAndGet(null); - return r; - } - - buffer.setAndGet(resizer.getMemory().Slice(0, row.length())); - return Result.SUCCESS; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.recordio.RecordIOStream; +import com.azure.data.cosmos.serialization.hybridrow.io.Segment; +import com.azure.data.cosmos.serialization.hybridrow.unit.customerschema.Address; + +import java.nio.file.Files; +import java.util.ArrayList; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(RecordIOUnitTests.SchemaFile, "TestData")] public class RecordIOUnitTests +public class RecordIOUnitTests { + private static final int InitialRowSize = 0; + private static final String SchemaFile = "TestData\\CustomerSchema.json"; + private Layout addressLayout; + private Namespace ns; + private LayoutResolver resolver; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void LoadSchema() + public final void LoadSchema() { + LayoutResolver systemResolver = SystemSchema.LayoutResolver; + Layout segmentLayout = systemResolver.Resolve(SystemSchema.SegmentSchemaId); + assert segmentLayout.getName().equals("Segment"); + assert segmentLayout.getSchemaId().clone() == SystemSchema.SegmentSchemaId; + + Layout recordLayout = systemResolver.Resolve(SystemSchema.RecordSchemaId); + assert recordLayout.getName().equals("Record"); + assert recordLayout.getSchemaId().clone() == SystemSchema.RecordSchemaId; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public final void ParseNamespaceExample() { + String json = Files.readString(RecordIOUnitTests.SchemaFile); + this.ns = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.ns); + this.addressLayout = this.resolver.Resolve(tangible.ListHelper.find(this.ns.getSchemas(), x -> x.Name.equals( + "Address")).SchemaId); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public async Task RoundTripAsync() + // TODO: C# TO JAVA CONVERTER: There is no equivalent in Java to the 'async' keyword: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public async Task RoundTripAsync() + public final Task RoundTripAsync() { + Address tempVar = new Address(); + tempVar.setStreet("300B Chocolate Hole"); + tempVar.setCity("Great Cruz Bay"); + tempVar.setState("VI"); + PostalCode tempVar2 = new PostalCode(); + tempVar2.setZip(00830); + tempVar2.setPlus4(0001); + tempVar.setPostalCode(tempVar2); + Address tempVar3 = new Address(); + tempVar3.setStreet("1 Microsoft Way"); + tempVar3.setCity("Redmond"); + tempVar3.setState("WA"); + PostalCode tempVar4 = new PostalCode(); + tempVar4.setZip(98052); + tempVar3.setPostalCode(tempVar4); + Address[] addresses = { tempVar, tempVar3 }; + + String sampleComment = "hello there"; + String sampleSDL = "some SDL"; + + try (Stream stm = new MemoryStream()) { + // Create a reusable, resizable buffer. + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(RecordIOUnitTests + // .InitialRowSize); + MemorySpanResizer resizer = new MemorySpanResizer(RecordIOUnitTests.InitialRowSize); + + // Write a RecordIO stream. + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'out' keyword - these are + // not converted by C# to Java Converter: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: Result r = await stm.WriteRecordIOAsync(new Segment(sampleComment, sampleSDL), (long + // index, out ReadOnlyMemory body) => + Result r = await + RecordIOStream.WriteRecordIOAsync(stm, + new Segment(sampleComment, sampleSDL), (long index, out ReadOnlyMemorybody) -> + { + body = null; + if (index >= addresses.length) { + return Result.SUCCESS; + } + + Out> tempOut_body = new Out>(); + Task tempVar5 = this.WriteAddress(resizer, addresses[index], tempOut_body); + body = tempOut_body.get(); + return tempVar5; + }); + + // Read a RecordIO stream. + ArrayList
addressesRead = new ArrayList
(); + stm.Position = 0; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: resizer = new MemorySpanResizer(1); + resizer = new MemorySpanResizer(1); + // TODO: C# TO JAVA CONVERTER: There is no equivalent to 'await' in Java: + r = await + RecordIOStream.ReadRecordIOAsync(stm, record -> + { + assert !record.IsEmpty; + + Address obj; + Out
tempOut_obj = new Out
(); + r = this.ReadAddress(record, tempOut_obj); + obj = tempOut_obj.get(); + ResultAssert.IsSuccess(r); + addressesRead.add(obj); + return Result.SUCCESS; + }, segment -> + { + assert !segment.IsEmpty; + + Segment obj; + Out tempOut_obj = + new Out(); + r = this.ReadSegment(segment, tempOut_obj); + obj = tempOut_obj.get(); + ResultAssert.IsSuccess(r); + assert obj.comment() == sampleComment; + assert obj.sdl() == sampleSDL; + return Result.SUCCESS; + }, resizer); + + ResultAssert.IsSuccess(r); + + // Check that the values all round-tripped. + assert addresses.length == addressesRead.size(); + for (int i = 0; i < addresses.length; i++) { + assert addresses[i] == addressesRead.get(i); + } + } + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private Result ReadAddress(Memory buffer, out Address obj) + private Result ReadAddress(Memory buffer, Out
obj) { + RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, this.resolver); + Reference tempReference_row = + new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + + // Use the reader to dump to the screen. + Reference tempReference_reader = + new Reference(reader); + String str; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Result r = DiagnosticConverter.ReaderToString(tempReference_reader, out str); + reader = tempReference_reader.get(); + if (r != Result.SUCCESS) { + obj.setAndGet(null); + return r; + } + + System.out.println(str); + + // Reset the reader and materialize the object. + Reference tempReference_row2 = + new Reference(row); + reader = new RowReader(tempReference_row2); + row = tempReference_row2.get(); + Reference tempReference_reader2 = + new Reference(reader); + Result tempVar = AddressSerializer.Read(tempReference_reader2, obj); + reader = tempReference_reader2.get(); + return tempVar; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private Result ReadSegment(Memory buffer, out Segment obj) + private Result ReadSegment(Memory buffer, Out obj) { + RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, SystemSchema.LayoutResolver); + Reference tempReference_row = + new Reference(row); + RowReader reader = new RowReader(tempReference_row); + row = tempReference_row.get(); + + // Use the reader to dump to the screen. + Reference tempReference_reader = + new Reference(reader); + String str; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Result r = DiagnosticConverter.ReaderToString(tempReference_reader, out str); + reader = tempReference_reader.get(); + if (r != Result.SUCCESS) { + obj.setAndGet(null); + return r; + } + + System.out.println(str); + + // Reset the reader and materialize the object. + Reference tempReference_row2 = new Reference(row); + reader = new RowReader(tempReference_row2); + row = tempReference_row2.get(); + Reference tempReference_reader2 = new Reference(reader); + Result tempVar = SegmentSerializer.Read(tempReference_reader2, obj.clone()); + reader = tempReference_reader2.get(); + return tempVar; + } + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private Result WriteAddress(MemorySpanResizer resizer, Address obj, out + // ReadOnlyMemory buffer) + private Result WriteAddress(MemorySpanResizer resizer, Address obj, + Out> buffer) { + RowBuffer row = new RowBuffer(RecordIOUnitTests.InitialRowSize, resizer); + row.initLayout(HybridRowVersion.V1, this.addressLayout, this.resolver); + Reference tempReference_row = + new Reference(row); + Result r = RowWriter.WriteBuffer(tempReference_row, obj, AddressSerializer.Write); + row = tempReference_row.get(); + if (r != Result.SUCCESS) { + buffer.setAndGet(null); + return r; + } + + buffer.setAndGet(resizer.getMemory().Slice(0, row.length())); + return Result.SUCCESS; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java index b097139..cb0da5f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/ResultAssert.java @@ -1,80 +1,80 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.serialization.hybridrow.Result; - -public final class ResultAssert { - public static void Exists(Result actual) { - assert Result.EXISTS == actual; - } - - public static void Exists(Result actual, String message) { - Assert.AreEqual(Result.EXISTS, actual, message); - } - - public static void Exists(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.EXISTS, actual, message, parameters); - } - - public static void InsufficientPermissions(Result actual) { - assert Result.INSUFFICIENT_PERMISSIONS == actual; - } - - public static void InsufficientPermissions(Result actual, String message) { - Assert.AreEqual(Result.INSUFFICIENT_PERMISSIONS, actual, message); - } - - public static void InsufficientPermissions(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.INSUFFICIENT_PERMISSIONS, actual, message, parameters); - } - - public static void IsSuccess(Result actual) { - assert Result.SUCCESS == actual; - } - - public static void IsSuccess(Result actual, String message) { - Assert.AreEqual(Result.SUCCESS, actual, message); - } - - public static void IsSuccess(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.SUCCESS, actual, message, parameters); - } - - public static void NotFound(Result actual) { - assert Result.NOT_FOUND == actual; - } - - public static void NotFound(Result actual, String message) { - Assert.AreEqual(Result.NOT_FOUND, actual, message); - } - - public static void NotFound(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.NOT_FOUND, actual, message, parameters); - } - - public static void TypeConstraint(Result actual) { - assert Result.TYPE_CONSTRAINT == actual; - } - - public static void TypeConstraint(Result actual, String message) { - Assert.AreEqual(Result.TYPE_CONSTRAINT, actual, message); - } - - public static void TypeConstraint(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.TYPE_CONSTRAINT, actual, message, parameters); - } - - public static void TypeMismatch(Result actual) { - assert Result.TYPE_MISMATCH == actual; - } - - public static void TypeMismatch(Result actual, String message) { - Assert.AreEqual(Result.TYPE_MISMATCH, actual, message); - } - - public static void TypeMismatch(Result actual, String message, Object... parameters) { - Assert.AreEqual(Result.TYPE_MISMATCH, actual, message, parameters); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.serialization.hybridrow.Result; + +public final class ResultAssert { + public static void Exists(Result actual) { + assert Result.EXISTS == actual; + } + + public static void Exists(Result actual, String message) { + Assert.AreEqual(Result.EXISTS, actual, message); + } + + public static void Exists(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.EXISTS, actual, message, parameters); + } + + public static void InsufficientPermissions(Result actual) { + assert Result.INSUFFICIENT_PERMISSIONS == actual; + } + + public static void InsufficientPermissions(Result actual, String message) { + Assert.AreEqual(Result.INSUFFICIENT_PERMISSIONS, actual, message); + } + + public static void InsufficientPermissions(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.INSUFFICIENT_PERMISSIONS, actual, message, parameters); + } + + public static void IsSuccess(Result actual) { + assert Result.SUCCESS == actual; + } + + public static void IsSuccess(Result actual, String message) { + Assert.AreEqual(Result.SUCCESS, actual, message); + } + + public static void IsSuccess(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.SUCCESS, actual, message, parameters); + } + + public static void NotFound(Result actual) { + assert Result.NOT_FOUND == actual; + } + + public static void NotFound(Result actual, String message) { + Assert.AreEqual(Result.NOT_FOUND, actual, message); + } + + public static void NotFound(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.NOT_FOUND, actual, message, parameters); + } + + public static void TypeConstraint(Result actual) { + assert Result.TYPE_CONSTRAINT == actual; + } + + public static void TypeConstraint(Result actual, String message) { + Assert.AreEqual(Result.TYPE_CONSTRAINT, actual, message); + } + + public static void TypeConstraint(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.TYPE_CONSTRAINT, actual, message, parameters); + } + + public static void TypeMismatch(Result actual) { + assert Result.TYPE_MISMATCH == actual; + } + + public static void TypeMismatch(Result actual, String message) { + Assert.AreEqual(Result.TYPE_MISMATCH, actual, message); + } + + public static void TypeMismatch(Result actual, String message, Object... parameters) { + Assert.AreEqual(Result.TYPE_MISMATCH, actual, message, parameters); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java index 78f2972..c7bd056 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowBufferUnitTests.java @@ -1,70 +1,70 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class RowBufferUnitTests -public class RowBufferUnitTests { - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", - // "SA1139:UseLiteralsSuffixNotationInsteadOfCasting", Justification = "Explicit")] public void VarIntTest() - public final void VarIntTest() { - // Brute force test all signed 16-bit values. - for (int i = Short.MIN_VALUE; i <= Short.MAX_VALUE; i++) { - short s = (short)i; - this.RoundTripVarInt(s); - } - - // Test boundary conditions for larger values. - this.RoundTripVarInt(0); - this.RoundTripVarInt(Integer.MIN_VALUE); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.RoundTripVarInt(unchecked((int)0x80000000ul)); - this.RoundTripVarInt(0x80000000); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.RoundTripVarInt(unchecked((int)0x7FFFFFFFul)); - this.RoundTripVarInt(0x7FFFFFFF); - this.RoundTripVarInt(Integer.MAX_VALUE); - this.RoundTripVarInt(Long.MIN_VALUE); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.RoundTripVarInt(unchecked((long)0x8000000000000000ul)); - this.RoundTripVarInt((long)0x8000000000000000); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: this.RoundTripVarInt(unchecked((long)0x7FFFFFFFFFFFFFFFul)); - this.RoundTripVarInt((long)0x7FFFFFFFFFFFFFFF); - this.RoundTripVarInt(Long.MAX_VALUE); - } - - private void RoundTripVarInt(short s) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); - long encoded = RowBuffer.rotateSignToLsb(s); - long decoded = RowBuffer.rotateSignToMsb(encoded); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: short t = unchecked((short)decoded); - short t = (short)decoded; - Assert.AreEqual(s, t, "Value: {0}", s); - } - - private void RoundTripVarInt(int s) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); - long encoded = RowBuffer.rotateSignToLsb(s); - long decoded = RowBuffer.rotateSignToMsb(encoded); - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: - //ORIGINAL LINE: int t = unchecked((int)decoded); - int t = (int)decoded; - Assert.AreEqual(s, t, "Value: {0}", s); - } - - private void RoundTripVarInt(long s) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); - long encoded = RowBuffer.rotateSignToLsb(s); - long decoded = RowBuffer.rotateSignToMsb(encoded); - Assert.AreEqual(s, decoded, "Value: {0}", s); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class RowBufferUnitTests +public class RowBufferUnitTests { + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][SuppressMessage("StyleCop.CSharp.ReadabilityRules", + // "SA1139:UseLiteralsSuffixNotationInsteadOfCasting", Justification = "Explicit")] public void VarIntTest() + public final void VarIntTest() { + // Brute force test all signed 16-bit values. + for (int i = Short.MIN_VALUE; i <= Short.MAX_VALUE; i++) { + short s = (short)i; + this.RoundTripVarInt(s); + } + + // Test boundary conditions for larger values. + this.RoundTripVarInt(0); + this.RoundTripVarInt(Integer.MIN_VALUE); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.RoundTripVarInt(unchecked((int)0x80000000ul)); + this.RoundTripVarInt(0x80000000); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.RoundTripVarInt(unchecked((int)0x7FFFFFFFul)); + this.RoundTripVarInt(0x7FFFFFFF); + this.RoundTripVarInt(Integer.MAX_VALUE); + this.RoundTripVarInt(Long.MIN_VALUE); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.RoundTripVarInt(unchecked((long)0x8000000000000000ul)); + this.RoundTripVarInt((long)0x8000000000000000); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: this.RoundTripVarInt(unchecked((long)0x7FFFFFFFFFFFFFFFul)); + this.RoundTripVarInt((long)0x7FFFFFFFFFFFFFFF); + this.RoundTripVarInt(Long.MAX_VALUE); + } + + private void RoundTripVarInt(short s) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); + long encoded = RowBuffer.rotateSignToLsb(s); + long decoded = RowBuffer.rotateSignToMsb(encoded); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: short t = unchecked((short)decoded); + short t = (short)decoded; + Assert.AreEqual(s, t, "Value: {0}", s); + } + + private void RoundTripVarInt(int s) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); + long encoded = RowBuffer.rotateSignToLsb(s); + long decoded = RowBuffer.rotateSignToMsb(encoded); + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to 'unchecked' in this context: + //ORIGINAL LINE: int t = unchecked((int)decoded); + int t = (int)decoded; + Assert.AreEqual(s, t, "Value: {0}", s); + } + + private void RoundTripVarInt(long s) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ulong encoded = RowBuffer.RotateSignToLsb(s); + long encoded = RowBuffer.rotateSignToLsb(s); + long decoded = RowBuffer.rotateSignToMsb(encoded); + Assert.AreEqual(s, decoded, "Value: {0}", s); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java index bbfa0fb..59a65a1 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowOperationDispatcher.java @@ -1,437 +1,437 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.NullValue; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBinary; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBoolean; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutDateTime; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutDecimal; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat128; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat32; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat64; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutGuid; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt16; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt32; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt64; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt8; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutMongoDbObjectId; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutNull; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt16; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt32; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt64; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt8; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUtf8; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutVarInt; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutVarUInt; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; -import com.azure.data.cosmos.serialization.hybridrow.schemas.StorageKind; - -import java.math.BigDecimal; -import java.time.LocalDateTime; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1402 // FileMayOnlyContainASingleType -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1201 // OrderingRules -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Public Fields - - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal ref struct RowOperationDispatcher -//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: -public final class RowOperationDispatcher { - private static final int InitialRowSize = 2 * 1024 * 1024; - public LayoutResolver Resolver; - public RowBuffer Row = new RowBuffer(); - private IDispatcher dispatcher; - - public RowOperationDispatcher() { - } - - private RowOperationDispatcher(IDispatcher dispatcher, Layout layout, LayoutResolver resolver) { - this.dispatcher = dispatcher; - this.Row = new RowBuffer(RowOperationDispatcher.InitialRowSize); - this.Resolver = resolver; - this.Row.initLayout(HybridRowVersion.V1, layout, this.Resolver); - } - - private RowOperationDispatcher(IDispatcher dispatcher, LayoutResolver resolver, String expected) { - this.dispatcher = dispatcher; - this.Row = new RowBuffer(RowOperationDispatcher.InitialRowSize); - this.Resolver = resolver; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: byte[] bytes = ByteConverter.ToBytes(expected); - byte[] bytes = ByteConverter.ToBytes(expected); - this.Row.readFrom(bytes, HybridRowVersion.V1, this.Resolver); - } - - // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: - //ORIGINAL LINE: public static RowOperationDispatcher Create(Layout layout, LayoutResolver resolver) - // where TDispatcher : struct, IDispatcher - public static RowOperationDispatcher Create(Layout layout, - LayoutResolver resolver) { - return new RowOperationDispatcher(null, layout, resolver); - } - - public RowReader GetReader() { - Reference tempReference_Row = - new Reference(this.Row); - // TODO: C# TO JAVA CONVERTER: The following line could not be converted: - return new RowReader(ref this.Row) - this.Row = tempReference_Row.get(); - return tempVar; - } - - public void LayoutCodeSwitch(String path, LayoutType type, TypeArgumentList typeArgs) { - LayoutCodeSwitch(path, type, typeArgs, null); - } - - public void LayoutCodeSwitch(String path, LayoutType type) { - LayoutCodeSwitch(path, type, null, null); - } - - public void LayoutCodeSwitch(String path) { - LayoutCodeSwitch(path, null, null, null); - } - - public void LayoutCodeSwitch() { - LayoutCodeSwitch(null, null, null, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void LayoutCodeSwitch(string path = null, LayoutType type = null, TypeArgumentList - // typeArgs = default, object value = null) - public void LayoutCodeSwitch(String path, LayoutType type, TypeArgumentList typeArgs, Object value) { - Reference tempReference_Row = - new Reference(this.Row); - RowCursor root = RowCursor.create(tempReference_Row); - this.Row = tempReference_Row.get(); - Reference tempReference_root = - new Reference(root); - this.LayoutCodeSwitch(tempReference_root, path, type, typeArgs.clone(), value); - root = tempReference_root.get(); - } - - public void LayoutCodeSwitch(Reference scope, String path, LayoutType type, - TypeArgumentList typeArgs) { - LayoutCodeSwitch(scope, path, type, typeArgs, null); - } - - public void LayoutCodeSwitch(Reference scope, String path, LayoutType type) { - LayoutCodeSwitch(scope, path, type, null, null); - } - - public void LayoutCodeSwitch(Reference scope, String path) { - LayoutCodeSwitch(scope, path, null, null, null); - } - - public void LayoutCodeSwitch(Reference scope) { - LayoutCodeSwitch(scope, null, null, null, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void LayoutCodeSwitch(ref RowCursor scope, string path = null, LayoutType type = null, - // TypeArgumentList typeArgs = default, object value = null) - public void LayoutCodeSwitch(Reference scope, String path, LayoutType type, - TypeArgumentList typeArgs, Object value) { - LayoutColumn col = null; - if (type == null) { - assert path != null; - Out tempOut_col = - new Out(); - assert scope.get().getLayout().TryFind(path, tempOut_col); - col = tempOut_col.get(); - assert col != null; - type = col.type(); - typeArgs = col.typeArgs().clone(); - } - - if ((path != null) && (col == null || col.storage() == StorageKind.SPARSE)) { - Reference tempReference_Row = - new Reference(this.Row); - scope.get().Find(tempReference_Row, path); - this.Row = tempReference_Row.get(); - } - - switch (type.LayoutCode) { - case Null: - Reference tempReference_this = new Reference(this); - this.dispatcher.Dispatch(tempReference_this, scope, col, type, NullValue.DEFAULT); - this = tempReference_this.get(); - break; - case Boolean: - Reference tempReference_this2 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this2, scope, col, type, - value != null ? value : - default) - this = tempReference_this2.get(); - - break; - case Int8: - Reference tempReference_this3 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this3, scope, col, type, value != null ? - value : - default) - this = tempReference_this3.get(); - - break; - case Int16: - Reference tempReference_this4 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this4, scope, col, type, value != null ? - value : - default) - this = tempReference_this4.get(); - - break; - case Int32: - Reference tempReference_this5 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this5, scope, col, type, - value != null ? value : - default) - this = tempReference_this5.get(); - break; - case Int64: - Reference tempReference_this6 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this6, scope, col, type, value != null ? - value : - default) - this = tempReference_this6.get(); - break; - case UInt8: - Reference tempReference_this7 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this7, scope, col, type, - // (Nullable)value != null ? value : default); - this.dispatcher.Dispatch(tempReference_this7, scope, col, type, value != null ? - value : - default) - this = tempReference_this7.get(); - break; - case UInt16: - Reference tempReference_this8 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this8, scope, col, type, - // (Nullable)value != null ? value : default); - this.dispatcher.Dispatch(tempReference_this8, scope, col, type, value != null ? - value : - default) - this = tempReference_this8.get(); - - break; - case UInt32: - Reference tempReference_this9 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this9, scope, col, type, - // (Nullable)value != null ? value : default); - this.dispatcher.Dispatch(tempReference_this9, scope, col, type, - value != null ? value : - default) - this = tempReference_this9.get(); - break; - case UInt64: - Reference tempReference_this10 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this10, scope, col, type, - // (Nullable)value != null ? value : default); - this.dispatcher.Dispatch(tempReference_this10, scope, col, type, value != null ? - value : - default) - this = tempReference_this10.get(); - - break; - case VarInt: - Reference tempReference_this11 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this11, scope, col, type, value != null ? - value : - default) - this = tempReference_this11.get(); - break; - case VarUInt: - Reference tempReference_this12 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this12, scope, col, type, - // (Nullable)value != null ? value : default); - this.dispatcher.Dispatch(tempReference_this12, scope, col, type, value != null ? - value : - default) - this = tempReference_this12.get(); - - break; - case Float32: - Reference tempReference_this13 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this13, scope, col, type, - value != null ? value : - default) - this = tempReference_this13.get(); - - break; - case Float64: - Reference tempReference_this14 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this14, scope, col, type, - value != null ? value : - default) - this = tempReference_this14.get(); - - break; - case Float128: - Reference tempReference_this15 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this15, scope, col, type, - value != null ? value : - default) - this = tempReference_this15.get(); - - break; - case Decimal: - Reference tempReference_this16 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this16, scope, col, type, - value != null ? value : - default) - this = tempReference_this16.get(); - - break; - case DateTime: - Reference tempReference_this17 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this17, scope, col, type, - value != null ? value : - default) - this = tempReference_this17.get(); - - break; - case UnixDateTime: - Reference tempReference_this18 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this18, scope, col, type, - value != null ? value : - default) - this = tempReference_this18.get(); - - break; - case Guid: - Reference tempReference_this19 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this19, scope, col, type, value != null ? - value : - default) - this = tempReference_this19.get(); - break; - case MongoDbObjectId: - Reference tempReference_this20 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this20, scope, col, type, - value != null ? value : - default) - this = tempReference_this20.get(); - - break; - case Utf8: - Reference tempReference_this21 = new Reference(this); - this.dispatcher.Dispatch(tempReference_this21, scope, col, type, (String)value); - this = tempReference_this21.get(); - - break; - case Binary: - Reference tempReference_this22 = new Reference(this); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: this.dispatcher.Dispatch(ref this, ref scope, col, type, - // (byte[])value); - this.dispatcher.Dispatch(tempReference_this22, scope, col, type, (byte[])value); - this = tempReference_this22.get(); - - break; - case ObjectScope: - case ImmutableObjectScope: - Reference tempReference_this23 = new Reference(this); - this.dispatcher.DispatchObject(tempReference_this23, scope); - this = tempReference_this23.get(); - break; - case TypedArrayScope: - case ImmutableTypedArrayScope: - Reference tempReference_this24 = new Reference(this); - this.dispatcher.DispatchArray(tempReference_this24, scope, type, typeArgs.clone(), value); - this = tempReference_this24.get(); - break; - case TypedSetScope: - case ImmutableTypedSetScope: - Reference tempReference_this25 = new Reference(this); - this.dispatcher.DispatchSet(tempReference_this25, scope, type, typeArgs.clone(), value); - this = tempReference_this25.get(); - break; - case TypedMapScope: - case ImmutableTypedMapScope: - Reference tempReference_this26 = new Reference(this); - this.dispatcher.DispatchMap(tempReference_this26, scope, type, typeArgs.clone(), value); - this = tempReference_this26.get(); - break; - case TupleScope: - case ImmutableTupleScope: - case TypedTupleScope: - case ImmutableTypedTupleScope: - case TaggedScope: - case ImmutableTaggedScope: - case Tagged2Scope: - case ImmutableTagged2Scope: - Reference tempReference_this27 = new Reference(this); - this.dispatcher.DispatchTuple(tempReference_this27, scope, type, typeArgs.clone(), value); - this = tempReference_this27.get(); - break; - case NullableScope: - Reference tempReference_this28 = new Reference(this); - this.dispatcher.DispatchNullable(tempReference_this28, scope, type, typeArgs.clone(), value); - this = tempReference_this28.get(); - break; - case Schema: - case ImmutableSchema: - Reference tempReference_this29 = new Reference(this); - this.dispatcher.DispatchUDT(tempReference_this29, scope, type, typeArgs.clone(), value); - this = tempReference_this29.get(); - break; - default: - if (logger.) - throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", type.LayoutCode)); - break; - } - } - - // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: - //ORIGINAL LINE: public static RowOperationDispatcher ReadFrom(LayoutResolver resolver, string - // expected) where TDispatcher : struct, IDispatcher - public static RowOperationDispatcher ReadFrom(LayoutResolver resolver, - String expected) { - return new RowOperationDispatcher(null, resolver, expected); - } - - public String RowToHex() { - try (MemoryStream stm = new MemoryStream()) { - this.Row.writeTo(stm); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ReadOnlyMemory bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position); - ReadOnlyMemory bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position); - return ByteConverter.ToHex(bytes.Span); - } - } - - public RowOperationDispatcher clone() { - RowOperationDispatcher varCopy = new RowOperationDispatcher(); - - varCopy.Resolver = this.Resolver; - varCopy.Row = this.Row.clone(); - varCopy.dispatcher = this.dispatcher; - - return varCopy; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.NullValue; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.layouts.Layout; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBinary; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutBoolean; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutDateTime; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutDecimal; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat128; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat32; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutFloat64; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutGuid; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt16; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt32; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt64; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutInt8; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutMongoDbObjectId; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutNull; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutResolver; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt16; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt32; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt64; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUInt8; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutUtf8; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutVarInt; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutVarUInt; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; +import com.azure.data.cosmos.serialization.hybridrow.schemas.StorageKind; + +import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1402 // FileMayOnlyContainASingleType +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1201 // OrderingRules +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Public Fields + + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal ref struct RowOperationDispatcher +//C# TO JAVA CONVERTER WARNING: Java has no equivalent to the C# ref struct: +public final class RowOperationDispatcher { + private static final int InitialRowSize = 2 * 1024 * 1024; + public LayoutResolver Resolver; + public RowBuffer Row = new RowBuffer(); + private IDispatcher dispatcher; + + public RowOperationDispatcher() { + } + + private RowOperationDispatcher(IDispatcher dispatcher, Layout layout, LayoutResolver resolver) { + this.dispatcher = dispatcher; + this.Row = new RowBuffer(RowOperationDispatcher.InitialRowSize); + this.Resolver = resolver; + this.Row.initLayout(HybridRowVersion.V1, layout, this.Resolver); + } + + private RowOperationDispatcher(IDispatcher dispatcher, LayoutResolver resolver, String expected) { + this.dispatcher = dispatcher; + this.Row = new RowBuffer(RowOperationDispatcher.InitialRowSize); + this.Resolver = resolver; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: byte[] bytes = ByteConverter.ToBytes(expected); + byte[] bytes = ByteConverter.ToBytes(expected); + this.Row.readFrom(bytes, HybridRowVersion.V1, this.Resolver); + } + + // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: + //ORIGINAL LINE: public static RowOperationDispatcher Create(Layout layout, LayoutResolver resolver) + // where TDispatcher : struct, IDispatcher + public static RowOperationDispatcher Create(Layout layout, + LayoutResolver resolver) { + return new RowOperationDispatcher(null, layout, resolver); + } + + public RowReader GetReader() { + Reference tempReference_Row = + new Reference(this.Row); + // TODO: C# TO JAVA CONVERTER: The following line could not be converted: + return new RowReader(ref this.Row) + this.Row = tempReference_Row.get(); + return tempVar; + } + + public void LayoutCodeSwitch(String path, LayoutType type, TypeArgumentList typeArgs) { + LayoutCodeSwitch(path, type, typeArgs, null); + } + + public void LayoutCodeSwitch(String path, LayoutType type) { + LayoutCodeSwitch(path, type, null, null); + } + + public void LayoutCodeSwitch(String path) { + LayoutCodeSwitch(path, null, null, null); + } + + public void LayoutCodeSwitch() { + LayoutCodeSwitch(null, null, null, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void LayoutCodeSwitch(string path = null, LayoutType type = null, TypeArgumentList + // typeArgs = default, object value = null) + public void LayoutCodeSwitch(String path, LayoutType type, TypeArgumentList typeArgs, Object value) { + Reference tempReference_Row = + new Reference(this.Row); + RowCursor root = RowCursor.create(tempReference_Row); + this.Row = tempReference_Row.get(); + Reference tempReference_root = + new Reference(root); + this.LayoutCodeSwitch(tempReference_root, path, type, typeArgs.clone(), value); + root = tempReference_root.get(); + } + + public void LayoutCodeSwitch(Reference scope, String path, LayoutType type, + TypeArgumentList typeArgs) { + LayoutCodeSwitch(scope, path, type, typeArgs, null); + } + + public void LayoutCodeSwitch(Reference scope, String path, LayoutType type) { + LayoutCodeSwitch(scope, path, type, null, null); + } + + public void LayoutCodeSwitch(Reference scope, String path) { + LayoutCodeSwitch(scope, path, null, null, null); + } + + public void LayoutCodeSwitch(Reference scope) { + LayoutCodeSwitch(scope, null, null, null, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void LayoutCodeSwitch(ref RowCursor scope, string path = null, LayoutType type = null, + // TypeArgumentList typeArgs = default, object value = null) + public void LayoutCodeSwitch(Reference scope, String path, LayoutType type, + TypeArgumentList typeArgs, Object value) { + LayoutColumn col = null; + if (type == null) { + assert path != null; + Out tempOut_col = + new Out(); + assert scope.get().getLayout().TryFind(path, tempOut_col); + col = tempOut_col.get(); + assert col != null; + type = col.type(); + typeArgs = col.typeArgs().clone(); + } + + if ((path != null) && (col == null || col.storage() == StorageKind.SPARSE)) { + Reference tempReference_Row = + new Reference(this.Row); + scope.get().Find(tempReference_Row, path); + this.Row = tempReference_Row.get(); + } + + switch (type.LayoutCode) { + case Null: + Reference tempReference_this = new Reference(this); + this.dispatcher.Dispatch(tempReference_this, scope, col, type, NullValue.DEFAULT); + this = tempReference_this.get(); + break; + case Boolean: + Reference tempReference_this2 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this2, scope, col, type, + value != null ? value : + default) + this = tempReference_this2.get(); + + break; + case Int8: + Reference tempReference_this3 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this3, scope, col, type, value != null ? + value : + default) + this = tempReference_this3.get(); + + break; + case Int16: + Reference tempReference_this4 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this4, scope, col, type, value != null ? + value : + default) + this = tempReference_this4.get(); + + break; + case Int32: + Reference tempReference_this5 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this5, scope, col, type, + value != null ? value : + default) + this = tempReference_this5.get(); + break; + case Int64: + Reference tempReference_this6 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this6, scope, col, type, value != null ? + value : + default) + this = tempReference_this6.get(); + break; + case UInt8: + Reference tempReference_this7 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this7, scope, col, type, + // (Nullable)value != null ? value : default); + this.dispatcher.Dispatch(tempReference_this7, scope, col, type, value != null ? + value : + default) + this = tempReference_this7.get(); + break; + case UInt16: + Reference tempReference_this8 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this8, scope, col, type, + // (Nullable)value != null ? value : default); + this.dispatcher.Dispatch(tempReference_this8, scope, col, type, value != null ? + value : + default) + this = tempReference_this8.get(); + + break; + case UInt32: + Reference tempReference_this9 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this9, scope, col, type, + // (Nullable)value != null ? value : default); + this.dispatcher.Dispatch(tempReference_this9, scope, col, type, + value != null ? value : + default) + this = tempReference_this9.get(); + break; + case UInt64: + Reference tempReference_this10 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this10, scope, col, type, + // (Nullable)value != null ? value : default); + this.dispatcher.Dispatch(tempReference_this10, scope, col, type, value != null ? + value : + default) + this = tempReference_this10.get(); + + break; + case VarInt: + Reference tempReference_this11 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this11, scope, col, type, value != null ? + value : + default) + this = tempReference_this11.get(); + break; + case VarUInt: + Reference tempReference_this12 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(tempRef_this12, scope, col, type, + // (Nullable)value != null ? value : default); + this.dispatcher.Dispatch(tempReference_this12, scope, col, type, value != null ? + value : + default) + this = tempReference_this12.get(); + + break; + case Float32: + Reference tempReference_this13 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this13, scope, col, type, + value != null ? value : + default) + this = tempReference_this13.get(); + + break; + case Float64: + Reference tempReference_this14 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this14, scope, col, type, + value != null ? value : + default) + this = tempReference_this14.get(); + + break; + case Float128: + Reference tempReference_this15 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this15, scope, col, type, + value != null ? value : + default) + this = tempReference_this15.get(); + + break; + case Decimal: + Reference tempReference_this16 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this16, scope, col, type, + value != null ? value : + default) + this = tempReference_this16.get(); + + break; + case DateTime: + Reference tempReference_this17 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this17, scope, col, type, + value != null ? value : + default) + this = tempReference_this17.get(); + + break; + case UnixDateTime: + Reference tempReference_this18 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this18, scope, col, type, + value != null ? value : + default) + this = tempReference_this18.get(); + + break; + case Guid: + Reference tempReference_this19 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this19, scope, col, type, value != null ? + value : + default) + this = tempReference_this19.get(); + break; + case MongoDbObjectId: + Reference tempReference_this20 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this20, scope, col, type, + value != null ? value : + default) + this = tempReference_this20.get(); + + break; + case Utf8: + Reference tempReference_this21 = new Reference(this); + this.dispatcher.Dispatch(tempReference_this21, scope, col, type, (String)value); + this = tempReference_this21.get(); + + break; + case Binary: + Reference tempReference_this22 = new Reference(this); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: this.dispatcher.Dispatch(ref this, ref scope, col, type, + // (byte[])value); + this.dispatcher.Dispatch(tempReference_this22, scope, col, type, (byte[])value); + this = tempReference_this22.get(); + + break; + case ObjectScope: + case ImmutableObjectScope: + Reference tempReference_this23 = new Reference(this); + this.dispatcher.DispatchObject(tempReference_this23, scope); + this = tempReference_this23.get(); + break; + case TypedArrayScope: + case ImmutableTypedArrayScope: + Reference tempReference_this24 = new Reference(this); + this.dispatcher.DispatchArray(tempReference_this24, scope, type, typeArgs.clone(), value); + this = tempReference_this24.get(); + break; + case TypedSetScope: + case ImmutableTypedSetScope: + Reference tempReference_this25 = new Reference(this); + this.dispatcher.DispatchSet(tempReference_this25, scope, type, typeArgs.clone(), value); + this = tempReference_this25.get(); + break; + case TypedMapScope: + case ImmutableTypedMapScope: + Reference tempReference_this26 = new Reference(this); + this.dispatcher.DispatchMap(tempReference_this26, scope, type, typeArgs.clone(), value); + this = tempReference_this26.get(); + break; + case TupleScope: + case ImmutableTupleScope: + case TypedTupleScope: + case ImmutableTypedTupleScope: + case TaggedScope: + case ImmutableTaggedScope: + case Tagged2Scope: + case ImmutableTagged2Scope: + Reference tempReference_this27 = new Reference(this); + this.dispatcher.DispatchTuple(tempReference_this27, scope, type, typeArgs.clone(), value); + this = tempReference_this27.get(); + break; + case NullableScope: + Reference tempReference_this28 = new Reference(this); + this.dispatcher.DispatchNullable(tempReference_this28, scope, type, typeArgs.clone(), value); + this = tempReference_this28.get(); + break; + case Schema: + case ImmutableSchema: + Reference tempReference_this29 = new Reference(this); + this.dispatcher.DispatchUDT(tempReference_this29, scope, type, typeArgs.clone(), value); + this = tempReference_this29.get(); + break; + default: + if (logger.) + throw new IllegalStateException(lenientFormat("Unknown type will be ignored: %s", type.LayoutCode)); + break; + } + } + + // TODO: C# TO JAVA CONVERTER: The C# 'struct' constraint has no equivalent in Java: + //ORIGINAL LINE: public static RowOperationDispatcher ReadFrom(LayoutResolver resolver, string + // expected) where TDispatcher : struct, IDispatcher + public static RowOperationDispatcher ReadFrom(LayoutResolver resolver, + String expected) { + return new RowOperationDispatcher(null, resolver, expected); + } + + public String RowToHex() { + try (MemoryStream stm = new MemoryStream()) { + this.Row.writeTo(stm); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ReadOnlyMemory bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position); + ReadOnlyMemory bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position); + return ByteConverter.ToHex(bytes.Span); + } + } + + public RowOperationDispatcher clone() { + RowOperationDispatcher varCopy = new RowOperationDispatcher(); + + varCopy.Resolver = this.Resolver; + varCopy.Row = this.Row.clone(); + varCopy.dispatcher = this.dispatcher; + + return varCopy; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java index fab3b8e..1b9600f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowReaderUnitTests.java @@ -1,426 +1,426 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; -import com.azure.data.cosmos.serialization.hybridrow.NullValue; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; - -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("StyleCop.CSharp.ReadabilityRules", -// "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")][DeploymentItem(RowReaderUnitTests -// .SchemaFile, "TestData")] public sealed class RowReaderUnitTests -public final class RowReaderUnitTests { - private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); - private static final Float128 SampleFloat128 = new Float128(0, 42); - private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); - private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(0, 42); - private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); - private static final String SchemaFile = "TestData\\ReaderSchema.json"; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(RowReaderUnitTests.SchemaFile); - this.schema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.schema); - } - - public static void PrintReader(Reference reader, int indent) { - String str; - Out tempOut_str = new Out(); - ResultAssert.IsSuccess(DiagnosticConverter.ReaderToString(reader, tempOut_str)); - str = tempOut_str.get(); - System.out.println(str); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ReadMixed() - public void ReadMixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Mixed")).SchemaId); - assert layout != null; - - RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); - d.LayoutCodeSwitch("null"); - d.LayoutCodeSwitch("bool", value:true) - d.LayoutCodeSwitch("int8", value:(byte)-86) - d.LayoutCodeSwitch("int16", value:(short)-21846) - d.LayoutCodeSwitch("int32", value:-1431655766) - d.LayoutCodeSwitch("int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("float128", value:RowReaderUnitTests.SampleFloat128) - d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("datetime", value:RowReaderUnitTests.SampleDateTime) - d.LayoutCodeSwitch("unixdatetime", value:RowReaderUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("guid", value:RowReaderUnitTests.SampleGuid) - d.LayoutCodeSwitch("mongodbobjectid", value:RowReaderUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("utf8", value:"abc") - d.LayoutCodeSwitch("utf8_span", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("var_varint", value:-6148914691236517206L) - d.LayoutCodeSwitch("var_varuint", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("var_utf8", value:"abc") - d.LayoutCodeSwitch("var_utf8_span", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("var_binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("var_binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("var_binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("var_binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("sparse_null"); - d.LayoutCodeSwitch("sparse_bool", value:true) - d.LayoutCodeSwitch("sparse_int8", value:(byte)-86) - d.LayoutCodeSwitch("sparse_int16", value:(short)-21846) - d.LayoutCodeSwitch("sparse_int32", value:-1431655766) - d.LayoutCodeSwitch("sparse_int64", value:-6148914691236517206L) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_uint8", value: (byte)0xAA); - d.LayoutCodeSwitch("sparse_uint8", value:(byte)0xAA) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_uint16", value: (ushort)0xAAAA); - d.LayoutCodeSwitch("sparse_uint16", value:(short)0xAAAA) - d.LayoutCodeSwitch("sparse_uint32", value:0xAAAAAAAA) - d.LayoutCodeSwitch("sparse_uint64", value:0xAAAAAAAAAAAAAAAAL) - d.LayoutCodeSwitch("sparse_float32", value:1.0F / 3.0F) - d.LayoutCodeSwitch("sparse_float64", value:1.0 / 3.0) - d.LayoutCodeSwitch("sparse_float128", value:RowReaderUnitTests.SampleFloat128) - d.LayoutCodeSwitch("sparse_decimal", value:java.math.BigDecimal.ONE / 3.0) - d.LayoutCodeSwitch("sparse_datetime", value:RowReaderUnitTests.SampleDateTime) - d.LayoutCodeSwitch("sparse_unixdatetime", value:RowReaderUnitTests.SampleUnixDateTime) - d.LayoutCodeSwitch("sparse_guid", value:RowReaderUnitTests.SampleGuid) - d.LayoutCodeSwitch("sparse_mongodbobjectid", value:RowReaderUnitTests.SampleMongoDbObjectId) - d.LayoutCodeSwitch("sparse_utf8", value:"abc") - d.LayoutCodeSwitch("sparse_utf8_span", value:"abc") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_binary", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("sparse_binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); - d.LayoutCodeSwitch("sparse_binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) - d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) - d.LayoutCodeSwitch("array_t>", value:new float[][] - { - new float[] { 1, 2, 3 }, - new float[] { 1, 2, 3 } - }) - d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) - d.LayoutCodeSwitch("tuple>", value: - Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) - d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) - d.LayoutCodeSwitch("nullable", value:Tuple.Create(null, (Long)123L)) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("tagged", value: Tuple.Create((byte)3, "hello")); - d.LayoutCodeSwitch("tagged", value:Tuple.Create((byte)3, "hello")) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: d.LayoutCodeSwitch("tagged", value: Tuple.Create((byte)5, true, "bye")); - d.LayoutCodeSwitch("tagged", value:Tuple.Create((byte)5, true, "bye")) - d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) - d.LayoutCodeSwitch("set_t>", value:new byte[][] - { - new byte[] { 1, 2, 3 }, - new byte[] { 4, 5, 6 }, - new byte[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t>", value:new int[][] - { - new int[] { 1, 2, 3 }, - new int[] { 4, 5, 6 }, - new int[] { 7, 8, 9 } - }) - d.LayoutCodeSwitch("set_t", value:new Point[] - { - new Point(1, 2), - new Point(3, 4), - new Point(5, 6) - }) - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, - new byte[] { 4, 5, 6 }) }) - - d.LayoutCodeSwitch("map_t>", value: - new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), - Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), - Tuple.Create(7, 8) }) }) - - d.LayoutCodeSwitch("map_t", value: - new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), - Tuple.Create(3.0, new Point(5, 6)) }) - - RowReader reader = d.GetReader().clone(); - assert reader.length() == d.Row.length(); - Reference tempReference_reader = - new Reference(reader); - RowReaderUnitTests.PrintReader(tempReference_reader, 0); - reader = tempReference_reader.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ReadScopes() - public void ReadScopes() { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(0); - MemorySpanResizer resizer = new MemorySpanResizer(0); - RowBuffer row = new RowBuffer(0, resizer); - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Mixed")).SchemaId); - row.initLayout(HybridRowVersion.V1, layout, this.resolver); - - Reference tempReference_row = - new Reference(row); - ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, 2, RowReaderUnitTests.WriteNestedDocument)); - row = tempReference_row.get(); - Reference tempReference_row2 = - new Reference(row); - RowReader rowReader = new RowReader(tempReference_row2); - row = tempReference_row2.get(); - - Reference tempReference_rowReader = - new Reference(rowReader); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_rowReader, 0)); - rowReader = tempReference_rowReader.get(); - - Reference tempReference_row3 = - new Reference(row); - rowReader = new RowReader(tempReference_row3); - row = tempReference_row3.get(); - Reference tempReference_rowReader2 = - new Reference(rowReader); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_rowReader2, 0)); - rowReader = tempReference_rowReader2.get(); - - Reference tempReference_row4 = - new Reference(row); - rowReader = new RowReader(tempReference_row4); - row = tempReference_row4.get(); - Reference tempReference_rowReader3 = - new Reference(rowReader); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegateWithSkipScope(tempReference_rowReader3, 0)); - rowReader = tempReference_rowReader3.get(); - - // SkipScope not okay after advancing parent - Reference tempReference_row5 = - new Reference(row); - rowReader = new RowReader(tempReference_row5); - row = tempReference_row5.get(); - assert rowReader.read(); - assert rowReader.type().LayoutCode == LayoutCode.ObjectScope; - RowReader nestedScope = rowReader.readScope().clone(); - Reference tempReference_nestedScope = - new Reference(nestedScope); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_nestedScope, 0)); - nestedScope = tempReference_nestedScope.get(); - assert rowReader.read(); - Reference tempReference_nestedScope2 = - new Reference(nestedScope); - Result result = rowReader.skipScope(tempReference_nestedScope2); - nestedScope = tempReference_nestedScope2.get(); - assert Result.SUCCESS != result; - } - - private static Result ReadNestedDocumentDelegate(Reference reader, int context) { - while (reader.get().read()) { - switch (reader.get().type().LayoutCode) { - case TupleScope: { - ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadTuplePartial)); - break; - } - - case ObjectScope: { - ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); - break; - } - } - } - - return Result.SUCCESS; - } - - private static Result ReadNestedDocumentNonDelegate(Reference reader, int context) { - while (reader.get().read()) { - switch (reader.get().type().LayoutCode) { - case TupleScope: { - RowReader nested = reader.get().readScope().clone(); - Reference tempReference_nested = - new Reference(nested); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0)); - nested = tempReference_nested.get(); - break; - } - - case ObjectScope: { - RowReader nested = reader.get().readScope().clone(); - Reference tempReference_nested2 = - new Reference(nested); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested2, 0)); - nested = tempReference_nested2.get(); - ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); - break; - } - } - } - - return Result.SUCCESS; - } - - private static Result ReadNestedDocumentNonDelegateWithSkipScope(Reference reader, - int context) { - while (reader.get().read()) { - switch (reader.get().type().LayoutCode) { - case TupleScope: { - RowReader nested = reader.get().readScope().clone(); - Reference tempReference_nested = - new Reference(nested); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0)); - nested = tempReference_nested.get(); - Reference tempReference_nested2 = - new Reference(nested); - ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested2)); - nested = tempReference_nested2.get(); - break; - } - - case ObjectScope: { - RowReader nested = reader.get().readScope().clone(); - Reference tempReference_nested3 = - new Reference(nested); - ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested3, 0)); - nested = tempReference_nested3.get(); - ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); - Reference tempReference_nested4 = new Reference(nested); - ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested4)); - nested = tempReference_nested4.get(); - break; - } - } - } - - return Result.SUCCESS; - } - - private static Result ReadTuplePartial(Reference reader, int unused) { - // Read only part of our tuple - assert reader.get().read(); - assert reader.get().read(); - return Result.SUCCESS; - } - - private static Result WriteNestedDocument(Reference writer, TypeArgument typeArgument, - int level) { - TypeArgument tupleArgument = new TypeArgument(LayoutType.Tuple, new TypeArgumentList(new TypeArgument[] - { - new TypeArgument(LayoutType.Int32), - new TypeArgument(LayoutType.Int32), - new TypeArgument(LayoutType.Int32) - })); - - // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: - // Result WriteTuple(ref RowWriter tupleWriter, TypeArgument tupleTypeArgument, int unused) - // { - // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 1)); - // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 2)); - // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 3)); - // return Result.Success; - // } - - if (level == 0) { - ResultAssert.IsSuccess(writer.get().WriteScope("x", tupleArgument.clone(), 0, WriteTuple)); - return Result.SUCCESS; - } - - ResultAssert.IsSuccess(writer.get().WriteScope("a", new TypeArgument(LayoutType.Object), level - 1, - RowReaderUnitTests.WriteNestedDocument)); - ResultAssert.IsSuccess(writer.get().WriteScope("x", tupleArgument.clone(), 0, WriteTuple)); - ResultAssert.IsSuccess(writer.get().WriteScope("b", new TypeArgument(LayoutType.Object), level - 1, - RowReaderUnitTests.WriteNestedDocument)); - ResultAssert.IsSuccess(writer.get().WriteScope("y", tupleArgument.clone(), 0, WriteTuple)); - ResultAssert.IsSuccess(writer.get().WriteScope("c", new TypeArgument(LayoutType.Object), level - 1, - RowReaderUnitTests.WriteNestedDocument)); - - return Result.SUCCESS; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] internal sealed class Point : IDispatchable, IRowSerializable - public final static class Point implements IDispatchable, IRowSerializable { - public int X; - public int Y; - - public Point(int x, int y) { - this.X = x; - this.Y = y; - } - - public void Dispatch(Reference dispatcher, Reference scope) { - dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X) - dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y) - } - - public Result Write(Reference writer, TypeArgument typeArg) { - Result result = writer.get().WriteInt32("x", this.X); - if (result != Result.SUCCESS) { - return result; - } - - return writer.get().WriteInt32("y", this.Y); - } - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - return obj instanceof Point && this.equals((Point)obj); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return ((new Integer(this.X)).hashCode() * 397) ^ (new Integer(this.Y)).hashCode(); - } - } - - private boolean equals(Point other) { - return this.X == other.X && this.Y == other.Y; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.MemorySpanResizer; +import com.azure.data.cosmos.serialization.hybridrow.NullValue; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; + +import java.nio.file.Files; +import java.time.LocalDateTime; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("StyleCop.CSharp.ReadabilityRules", +// "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")][DeploymentItem(RowReaderUnitTests +// .SchemaFile, "TestData")] public sealed class RowReaderUnitTests +public final class RowReaderUnitTests { + private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); + private static final Float128 SampleFloat128 = new Float128(0, 42); + private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); + private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(0, 42); + private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); + private static final String SchemaFile = "TestData\\ReaderSchema.json"; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(RowReaderUnitTests.SchemaFile); + this.schema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.schema); + } + + public static void PrintReader(Reference reader, int indent) { + String str; + Out tempOut_str = new Out(); + ResultAssert.IsSuccess(DiagnosticConverter.ReaderToString(reader, tempOut_str)); + str = tempOut_str.get(); + System.out.println(str); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ReadMixed() + public void ReadMixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Mixed")).SchemaId); + assert layout != null; + + RowOperationDispatcher d = RowOperationDispatcher.Create(layout, this.resolver); + d.LayoutCodeSwitch("null"); + d.LayoutCodeSwitch("bool", value:true) + d.LayoutCodeSwitch("int8", value:(byte)-86) + d.LayoutCodeSwitch("int16", value:(short)-21846) + d.LayoutCodeSwitch("int32", value:-1431655766) + d.LayoutCodeSwitch("int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("float128", value:RowReaderUnitTests.SampleFloat128) + d.LayoutCodeSwitch("decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("datetime", value:RowReaderUnitTests.SampleDateTime) + d.LayoutCodeSwitch("unixdatetime", value:RowReaderUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("guid", value:RowReaderUnitTests.SampleGuid) + d.LayoutCodeSwitch("mongodbobjectid", value:RowReaderUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("utf8", value:"abc") + d.LayoutCodeSwitch("utf8_span", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("var_varint", value:-6148914691236517206L) + d.LayoutCodeSwitch("var_varuint", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("var_utf8", value:"abc") + d.LayoutCodeSwitch("var_utf8_span", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("var_binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("var_binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("var_binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("var_binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("sparse_null"); + d.LayoutCodeSwitch("sparse_bool", value:true) + d.LayoutCodeSwitch("sparse_int8", value:(byte)-86) + d.LayoutCodeSwitch("sparse_int16", value:(short)-21846) + d.LayoutCodeSwitch("sparse_int32", value:-1431655766) + d.LayoutCodeSwitch("sparse_int64", value:-6148914691236517206L) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_uint8", value: (byte)0xAA); + d.LayoutCodeSwitch("sparse_uint8", value:(byte)0xAA) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_uint16", value: (ushort)0xAAAA); + d.LayoutCodeSwitch("sparse_uint16", value:(short)0xAAAA) + d.LayoutCodeSwitch("sparse_uint32", value:0xAAAAAAAA) + d.LayoutCodeSwitch("sparse_uint64", value:0xAAAAAAAAAAAAAAAAL) + d.LayoutCodeSwitch("sparse_float32", value:1.0F / 3.0F) + d.LayoutCodeSwitch("sparse_float64", value:1.0 / 3.0) + d.LayoutCodeSwitch("sparse_float128", value:RowReaderUnitTests.SampleFloat128) + d.LayoutCodeSwitch("sparse_decimal", value:java.math.BigDecimal.ONE / 3.0) + d.LayoutCodeSwitch("sparse_datetime", value:RowReaderUnitTests.SampleDateTime) + d.LayoutCodeSwitch("sparse_unixdatetime", value:RowReaderUnitTests.SampleUnixDateTime) + d.LayoutCodeSwitch("sparse_guid", value:RowReaderUnitTests.SampleGuid) + d.LayoutCodeSwitch("sparse_mongodbobjectid", value:RowReaderUnitTests.SampleMongoDbObjectId) + d.LayoutCodeSwitch("sparse_utf8", value:"abc") + d.LayoutCodeSwitch("sparse_utf8_span", value:"abc") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_binary", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("sparse_binary", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("sparse_binary_span", value: new[] { (byte)0, (byte)1, (byte)2 }); + d.LayoutCodeSwitch("sparse_binary_span", value:new byte[] { (byte)0, (byte)1, (byte)2 }) + d.LayoutCodeSwitch("array_t", value:new byte[] { -86, -86, -86 }) + d.LayoutCodeSwitch("array_t>", value:new float[][] + { + new float[] { 1, 2, 3 }, + new float[] { 1, 2, 3 } + }) + d.LayoutCodeSwitch("array_t", value:new String[] { "abc", "def", "hij" }) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L)) + d.LayoutCodeSwitch("tuple>", value: + Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86))) + d.LayoutCodeSwitch("tuple", value:Tuple.Create(false, new Point(1, 2))) + d.LayoutCodeSwitch("nullable", value:Tuple.Create(null, (Long)123L)) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("tagged", value: Tuple.Create((byte)3, "hello")); + d.LayoutCodeSwitch("tagged", value:Tuple.Create((byte)3, "hello")) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: d.LayoutCodeSwitch("tagged", value: Tuple.Create((byte)5, true, "bye")); + d.LayoutCodeSwitch("tagged", value:Tuple.Create((byte)5, true, "bye")) + d.LayoutCodeSwitch("set_t", value:new String[] { "abc", "efg", "xzy" }) + d.LayoutCodeSwitch("set_t>", value:new byte[][] + { + new byte[] { 1, 2, 3 }, + new byte[] { 4, 5, 6 }, + new byte[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t>", value:new int[][] + { + new int[] { 1, 2, 3 }, + new int[] { 4, 5, 6 }, + new int[] { 7, 8, 9 } + }) + d.LayoutCodeSwitch("set_t", value:new Point[] + { + new Point(1, 2), + new Point(3, 4), + new Point(5, 6) + }) + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") }) + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2, + new byte[] { 4, 5, 6 }) }) + + d.LayoutCodeSwitch("map_t>", value: + new System.Tuple[] { Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(1, 2), + Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(5, 6), + Tuple.Create(7, 8) }) }) + + d.LayoutCodeSwitch("map_t", value: + new System.Tuple[] { Tuple.Create(1.0, new Point(1, 2)), Tuple.Create(2.0, new Point(3, 4)), + Tuple.Create(3.0, new Point(5, 6)) }) + + RowReader reader = d.GetReader().clone(); + assert reader.length() == d.Row.length(); + Reference tempReference_reader = + new Reference(reader); + RowReaderUnitTests.PrintReader(tempReference_reader, 0); + reader = tempReference_reader.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ReadScopes() + public void ReadScopes() { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: MemorySpanResizer resizer = new MemorySpanResizer(0); + MemorySpanResizer resizer = new MemorySpanResizer(0); + RowBuffer row = new RowBuffer(0, resizer); + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Mixed")).SchemaId); + row.initLayout(HybridRowVersion.V1, layout, this.resolver); + + Reference tempReference_row = + new Reference(row); + ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, 2, RowReaderUnitTests.WriteNestedDocument)); + row = tempReference_row.get(); + Reference tempReference_row2 = + new Reference(row); + RowReader rowReader = new RowReader(tempReference_row2); + row = tempReference_row2.get(); + + Reference tempReference_rowReader = + new Reference(rowReader); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_rowReader, 0)); + rowReader = tempReference_rowReader.get(); + + Reference tempReference_row3 = + new Reference(row); + rowReader = new RowReader(tempReference_row3); + row = tempReference_row3.get(); + Reference tempReference_rowReader2 = + new Reference(rowReader); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_rowReader2, 0)); + rowReader = tempReference_rowReader2.get(); + + Reference tempReference_row4 = + new Reference(row); + rowReader = new RowReader(tempReference_row4); + row = tempReference_row4.get(); + Reference tempReference_rowReader3 = + new Reference(rowReader); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegateWithSkipScope(tempReference_rowReader3, 0)); + rowReader = tempReference_rowReader3.get(); + + // SkipScope not okay after advancing parent + Reference tempReference_row5 = + new Reference(row); + rowReader = new RowReader(tempReference_row5); + row = tempReference_row5.get(); + assert rowReader.read(); + assert rowReader.type().LayoutCode == LayoutCode.ObjectScope; + RowReader nestedScope = rowReader.readScope().clone(); + Reference tempReference_nestedScope = + new Reference(nestedScope); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_nestedScope, 0)); + nestedScope = tempReference_nestedScope.get(); + assert rowReader.read(); + Reference tempReference_nestedScope2 = + new Reference(nestedScope); + Result result = rowReader.skipScope(tempReference_nestedScope2); + nestedScope = tempReference_nestedScope2.get(); + assert Result.SUCCESS != result; + } + + private static Result ReadNestedDocumentDelegate(Reference reader, int context) { + while (reader.get().read()) { + switch (reader.get().type().LayoutCode) { + case TupleScope: { + ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadTuplePartial)); + break; + } + + case ObjectScope: { + ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); + break; + } + } + } + + return Result.SUCCESS; + } + + private static Result ReadNestedDocumentNonDelegate(Reference reader, int context) { + while (reader.get().read()) { + switch (reader.get().type().LayoutCode) { + case TupleScope: { + RowReader nested = reader.get().readScope().clone(); + Reference tempReference_nested = + new Reference(nested); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0)); + nested = tempReference_nested.get(); + break; + } + + case ObjectScope: { + RowReader nested = reader.get().readScope().clone(); + Reference tempReference_nested2 = + new Reference(nested); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested2, 0)); + nested = tempReference_nested2.get(); + ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); + break; + } + } + } + + return Result.SUCCESS; + } + + private static Result ReadNestedDocumentNonDelegateWithSkipScope(Reference reader, + int context) { + while (reader.get().read()) { + switch (reader.get().type().LayoutCode) { + case TupleScope: { + RowReader nested = reader.get().readScope().clone(); + Reference tempReference_nested = + new Reference(nested); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0)); + nested = tempReference_nested.get(); + Reference tempReference_nested2 = + new Reference(nested); + ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested2)); + nested = tempReference_nested2.get(); + break; + } + + case ObjectScope: { + RowReader nested = reader.get().readScope().clone(); + Reference tempReference_nested3 = + new Reference(nested); + ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested3, 0)); + nested = tempReference_nested3.get(); + ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate)); + Reference tempReference_nested4 = new Reference(nested); + ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested4)); + nested = tempReference_nested4.get(); + break; + } + } + } + + return Result.SUCCESS; + } + + private static Result ReadTuplePartial(Reference reader, int unused) { + // Read only part of our tuple + assert reader.get().read(); + assert reader.get().read(); + return Result.SUCCESS; + } + + private static Result WriteNestedDocument(Reference writer, TypeArgument typeArgument, + int level) { + TypeArgument tupleArgument = new TypeArgument(LayoutType.Tuple, new TypeArgumentList(new TypeArgument[] + { + new TypeArgument(LayoutType.Int32), + new TypeArgument(LayoutType.Int32), + new TypeArgument(LayoutType.Int32) + })); + + // TODO: C# TO JAVA CONVERTER: Local functions are not converted by C# to Java Converter: + // Result WriteTuple(ref RowWriter tupleWriter, TypeArgument tupleTypeArgument, int unused) + // { + // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 1)); + // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 2)); + // ResultAssert.IsSuccess(tupleWriter.WriteInt32(null, 3)); + // return Result.Success; + // } + + if (level == 0) { + ResultAssert.IsSuccess(writer.get().WriteScope("x", tupleArgument.clone(), 0, WriteTuple)); + return Result.SUCCESS; + } + + ResultAssert.IsSuccess(writer.get().WriteScope("a", new TypeArgument(LayoutType.Object), level - 1, + RowReaderUnitTests.WriteNestedDocument)); + ResultAssert.IsSuccess(writer.get().WriteScope("x", tupleArgument.clone(), 0, WriteTuple)); + ResultAssert.IsSuccess(writer.get().WriteScope("b", new TypeArgument(LayoutType.Object), level - 1, + RowReaderUnitTests.WriteNestedDocument)); + ResultAssert.IsSuccess(writer.get().WriteScope("y", tupleArgument.clone(), 0, WriteTuple)); + ResultAssert.IsSuccess(writer.get().WriteScope("c", new TypeArgument(LayoutType.Object), level - 1, + RowReaderUnitTests.WriteNestedDocument)); + + return Result.SUCCESS; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] internal sealed class Point : IDispatchable, IRowSerializable + public final static class Point implements IDispatchable, IRowSerializable { + public int X; + public int Y; + + public Point(int x, int y) { + this.X = x; + this.Y = y; + } + + public void Dispatch(Reference dispatcher, Reference scope) { + dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X) + dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y) + } + + public Result Write(Reference writer, TypeArgument typeArg) { + Result result = writer.get().WriteInt32("x", this.X); + if (result != Result.SUCCESS) { + return result; + } + + return writer.get().WriteInt32("y", this.Y); + } + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + return obj instanceof Point && this.equals((Point)obj); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return ((new Integer(this.X)).hashCode() * 397) ^ (new Integer(this.Y)).hashCode(); + } + } + + private boolean equals(Point other) { + return this.X == other.X && this.Y == other.Y; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java index fa8a3ce..79fa2e8 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/RowWriterUnitTests.java @@ -1,509 +1,509 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Float128; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.NullValue; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; - -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("StyleCop.CSharp.ReadabilityRules", -// "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")][DeploymentItem(RowWriterUnitTests -// .SchemaFile, "TestData")] public sealed class RowWriterUnitTests -public final class RowWriterUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); - private static final Float128 SampleFloat128 = new Float128(0, 42); - private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); - private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(0, 42); - private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); - private static final String SchemaFile = "TestData\\ReaderSchema.json"; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void TestInitialize() - public void TestInitialize() { - String json = Files.readString(RowWriterUnitTests.SchemaFile); - this.schema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.schema); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void WriteMixed() - public void WriteMixed() { - Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "Mixed")).SchemaId); - assert layout != null; - - RowBuffer row = new RowBuffer(RowWriterUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, layout, this.resolver); - - int writerLength = 0; - Reference tempReference_row = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - ResultAssert.IsSuccess(RowWriter.writeBuffer(tempReference_row, null, (RowWriter RowWriter writer, - TypeArgument rootTypeArg, Object ignored) -> - { - ResultAssert.IsSuccess(writer.WriteNull("null")); - ResultAssert.IsSuccess(writer.WriteBool("bool", true)); - ResultAssert.IsSuccess(writer.WriteInt8("int8", (byte)-86)); - ResultAssert.IsSuccess(writer.WriteInt16("int16", (short)-21846)); - ResultAssert.IsSuccess(writer.WriteInt32("int32", -1431655766)); - ResultAssert.IsSuccess(writer.WriteInt64("int64", -6148914691236517206L)); - ResultAssert.IsSuccess(writer.WriteUInt8("uint8", (byte)0xAA)); - ResultAssert.IsSuccess(writer.WriteUInt16("uint16", (short)0xAAAA)); - ResultAssert.IsSuccess(writer.WriteUInt32("uint32", 0xAAAAAAAA)); - ResultAssert.IsSuccess(writer.WriteUInt64("uint64", 0xAAAAAAAAAAAAAAAAL)); - ResultAssert.IsSuccess(writer.WriteFloat32("float32", 1.0F / 3.0F)); - ResultAssert.IsSuccess(writer.WriteFloat64("float64", 1.0 / 3.0)); - ResultAssert.IsSuccess(writer.WriteFloat128("float128", RowWriterUnitTests.SampleFloat128)); - ResultAssert.IsSuccess(writer.WriteDecimal("decimal", java.math.BigDecimal.ONE / 3.0)); - ResultAssert.IsSuccess(writer.WriteDateTime("datetime", RowWriterUnitTests.SampleDateTime)); - ResultAssert.IsSuccess(writer.WriteUnixDateTime("unixdatetime", RowWriterUnitTests.SampleUnixDateTime)); - ResultAssert.IsSuccess(writer.WriteGuid("guid", RowWriterUnitTests.SampleGuid)); - ResultAssert.IsSuccess(writer.WriteMongoDbObjectId("mongodbobjectid", - RowWriterUnitTests.SampleMongoDbObjectId)); - ResultAssert.IsSuccess(writer.WriteString("utf8", "abc")); - ResultAssert.IsSuccess(writer.WriteString("utf8_span", Utf8Span.TranscodeUtf16("abc"))); - ResultAssert.IsSuccess(writer.WriteBinary("binary", new byte[] { (byte)0, (byte)1, (byte)2 })); - ResultAssert.IsSuccess(writer.WriteBinary("binary_span", - new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); - ResultAssert.IsSuccess(writer.WriteBinary("binary_sequence", - new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); - - ResultAssert.IsSuccess(writer.WriteVarInt("var_varint", -6148914691236517206L)); - ResultAssert.IsSuccess(writer.WriteVarUInt("var_varuint", 0xAAAAAAAAAAAAAAAAL)); - ResultAssert.IsSuccess(writer.WriteString("var_utf8", "abc")); - ResultAssert.IsSuccess(writer.WriteString("var_utf8_span", Utf8Span.TranscodeUtf16("abc"))); - ResultAssert.IsSuccess(writer.WriteBinary("var_binary", new byte[] { (byte)0, (byte)1, (byte)2 })); - ResultAssert.IsSuccess(writer.WriteBinary("var_binary_span", - new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); - ResultAssert.IsSuccess(writer.WriteBinary("var_binary_sequence", - new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); - - ResultAssert.IsSuccess(writer.WriteNull("sparse_null")); - ResultAssert.IsSuccess(writer.WriteBool("sparse_bool", true)); - ResultAssert.IsSuccess(writer.WriteInt8("sparse_int8", (byte)-86)); - ResultAssert.IsSuccess(writer.WriteInt16("sparse_int16", (short)-21846)); - ResultAssert.IsSuccess(writer.WriteInt32("sparse_int32", -1431655766)); - ResultAssert.IsSuccess(writer.WriteInt64("sparse_int64", -6148914691236517206L)); - ResultAssert.IsSuccess(writer.WriteUInt8("sparse_uint8", (byte)0xAA)); - ResultAssert.IsSuccess(writer.WriteUInt16("sparse_uint16", (short)0xAAAA)); - ResultAssert.IsSuccess(writer.WriteUInt32("sparse_uint32", 0xAAAAAAAA)); - ResultAssert.IsSuccess(writer.WriteUInt64("sparse_uint64", 0xAAAAAAAAAAAAAAAAL)); - ResultAssert.IsSuccess(writer.WriteFloat32("sparse_float32", 1.0F / 3.0F)); - ResultAssert.IsSuccess(writer.WriteFloat64("sparse_float64", 1.0 / 3.0)); - ResultAssert.IsSuccess(writer.WriteFloat128("sparse_float128", RowWriterUnitTests.SampleFloat128)); - ResultAssert.IsSuccess(writer.WriteDecimal("sparse_decimal", java.math.BigDecimal.ONE / 3.0)); - ResultAssert.IsSuccess(writer.WriteDateTime("sparse_datetime", RowWriterUnitTests.SampleDateTime)); - ResultAssert.IsSuccess(writer.WriteUnixDateTime("sparse_unixdatetime", - RowWriterUnitTests.SampleUnixDateTime)); - ResultAssert.IsSuccess(writer.WriteGuid("sparse_guid", RowWriterUnitTests.SampleGuid)); - ResultAssert.IsSuccess(writer.WriteMongoDbObjectId("sparse_mongodbobjectid", - RowWriterUnitTests.SampleMongoDbObjectId)); - ResultAssert.IsSuccess(writer.WriteString("sparse_utf8", "abc")); - ResultAssert.IsSuccess(writer.WriteString("sparse_utf8_span", Utf8Span.TranscodeUtf16("abc"))); - ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary", new byte[] { (byte)0, (byte)1, (byte)2 })); - ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary_span", - new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); - ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary_sequence", - new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); - - LayoutColumn col; - Out tempOut_col = - new Out(); - assert layout.TryFind("array_t", tempOut_col); - col = tempOut_col.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new byte[] { -86, -87, - -88 }, (ref RowWriter writer2, TypeArgument typeArg, byte[] values) -> - { - for (byte value : values) { - ResultAssert.IsSuccess(writer2.WriteInt8(null, value)); - } - - return Result.SUCCESS; - })); - - Out tempOut_col2 = - new Out(); - assert layout.TryFind("array_t>", tempOut_col2); - col = tempOut_col2.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new float[][] - { - new float[] { 1, 2, 3 }, - new float[] { 1, 2, 3 } - }, (ref RowWriter writer2, TypeArgument typeArg, float[][] values) -> - { - for (float[] value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, - (ref RowWriter writer3, TypeArgument typeArg2, float[] values2) -> - { - for (float value2 : values2) { - ResultAssert.IsSuccess(writer3.WriteFloat32(null, value2)); - } - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col3 = - new Out(); - assert layout.TryFind("array_t", tempOut_col3); - col = tempOut_col3.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new String[] { "abc", - "def", "hij" }, (ref RowWriter writer2, TypeArgument typeArg, String[] values) -> - { - for (String value : values) { - ResultAssert.IsSuccess(writer2.WriteString(null, value)); - } - - return Result.SUCCESS; - })); - - Out tempOut_col4 = - new Out(); - assert layout.TryFind("tuple", tempOut_col4); - col = tempOut_col4.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), - Tuple.Create(-6148914691236517206L, -6148914691236517206L), (ref RowWriter writer2, - TypeArgument typeArg, - Tuple values) -> - { - ResultAssert.IsSuccess(writer2.WriteVarInt(null, values.Item1)); - ResultAssert.IsSuccess(writer2.WriteInt64(null, values.Item2)); - return Result.SUCCESS; - })); - - Out tempOut_col5 = - new Out(); - assert layout.TryFind("tuple>", tempOut_col5); - col = tempOut_col5.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), - Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86)), (ref RowWriter writer2, - TypeArgument typeArg, - Tuple> values) -> - { - ResultAssert.IsSuccess(writer2.WriteNull(null)); - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, - (ref RowWriter writer3, TypeArgument typeArg2, Tuple values2) -> - { - ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item1)); - ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item2)); - return Result.SUCCESS; - })); - - return Result.SUCCESS; - })); - - Out tempOut_col6 = - new Out(); - assert layout.TryFind("tuple", tempOut_col6); - col = tempOut_col6.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create(false, - new RowReaderUnitTests.Point(1, 2)), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> - { - ResultAssert.IsSuccess(writer2.WriteBool(null, values.Item1)); - Reference tempReference_writer3 = - new Reference(writer3); - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, - (ref RowWriter writer3, TypeArgument typeArg2, IRowSerializable values2) -> values2.Write(tempReference_writer3, typeArg2.clone()))); - writer3 = tempReference_writer3.get(); - - return Result.SUCCESS; - })); - - Out tempOut_col7 = - new Out(); - assert layout.TryFind("nullable", tempOut_col7); - col = tempOut_col7.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create(null, - (Long)123L), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> - { - RowWriter.WriterFunc f0 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter writer, TypeArgument typeArg, - Integer context) -> null.invoke(writer, typeArg.clone(), context); - if (values.Item1 != null) { - f0 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter RowWriter writer3, TypeArgument typeArg2, Integer value) -> writer3.WriteInt32(null, - value.intValue()); - } - - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), values.Item1, - f0)); - - RowWriter.WriterFunc f1 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter writer, TypeArgument typeArg, - Long context) -> null.invoke(writer, typeArg.clone(), context); - if (values.Item2 != null) { - f1 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter RowWriter writer3, TypeArgument typeArg2, Long value) -> writer3.WriteInt64(null, - value.longValue()); - } - - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, - f1)); - return Result.SUCCESS; - })); - - Out tempOut_col8 = - new Out(); - assert layout.TryFind("tagged", tempOut_col8); - col = tempOut_col8.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create((byte)3, - "hello"), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> - { - ResultAssert.IsSuccess(writer2.WriteUInt8(null, values.Item1)); - ResultAssert.IsSuccess(writer2.WriteString(null, values.Item2)); - return Result.SUCCESS; - })); - - Out tempOut_col9 = - new Out(); - assert layout.TryFind("tagged", tempOut_col9); - col = tempOut_col9.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create((byte)5, - true, "bye"), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> - { - ResultAssert.IsSuccess(writer2.WriteUInt8(null, values.Item1)); - ResultAssert.IsSuccess(writer2.WriteBool(null, values.Item2)); - ResultAssert.IsSuccess(writer2.WriteString(null, values.Item3)); - return Result.SUCCESS; - })); - - Out tempOut_col10 = - new Out(); - assert layout.TryFind("set_t", tempOut_col10); - col = tempOut_col10.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new String[] { "abc", - "xzy", "efg" }, (ref RowWriter writer2, TypeArgument typeArg, String[] values) -> - { - for (String value : values) { - ResultAssert.IsSuccess(writer2.WriteString(null, value)); - } - - return Result.SUCCESS; - })); - - Out tempOut_col11 = - new Out(); - assert layout.TryFind("set_t>", tempOut_col11); - col = tempOut_col11.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new byte[][] - { - new byte[] { 7, 8, 9 }, - new byte[] { 4, 5, 6 }, - new byte[] { 1, 2, 3 } - }, (ref RowWriter writer2, TypeArgument typeArg, byte[][] values) -> - { - for (byte[] value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, - (ref RowWriter writer3, TypeArgument typeArg2, byte[] values2) -> - { - for (byte value2 : values2) { - ResultAssert.IsSuccess(writer3.WriteInt8(null, value2)); - } - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col12 = - new Out(); - assert layout.TryFind("set_t>", tempOut_col12); - col = tempOut_col12.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new int[][] - { - new int[] { 4, 5, 6 }, - new int[] { 7, 8, 9 }, - new int[] { 1, 2, 3 } - }, (ref RowWriter writer2, TypeArgument typeArg, int[][] values) -> - { - for (int[] value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, - (ref RowWriter writer3, TypeArgument typeArg2, int[] values2) -> - { - for (int value2 : values2) { - ResultAssert.IsSuccess(writer3.WriteInt32(null, value2)); - } - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col13 = - new Out(); - assert layout.TryFind("set_t", tempOut_col13); - col = tempOut_col13.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), - new RowReaderUnitTests.Point[] - { - new RowReaderUnitTests.Point(1, 2), - new RowReaderUnitTests.Point(3, 4), - new RowReaderUnitTests.Point(5, 6) - }, (ref RowWriter writer2, TypeArgument typeArg, RowReaderUnitTests.Point[] values) -> - { - for (RowReaderUnitTests.Point value : values) { - Reference tempReference_writer3 = - new Reference(writer3); - ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, - (ref RowWriter writer3, TypeArgument typeArg2, IRowSerializable values2) -> values2.Write(tempReference_writer3, typeArg2.clone()))); - writer3 = tempReference_writer3.get(); - } - - return Result.SUCCESS; - })); - - Out tempOut_col14 = - new Out(); - assert layout.TryFind("map_t", tempOut_col14); - col = tempOut_col14.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create("Harrison", "Han"), Tuple.Create("Mark", "Luke") }, (ref RowWriter writer2, - TypeArgument typeArg, - Tuple[] values) -> - { - for (Tuple value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, - typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, - Tuple values2) -> - { - ResultAssert.IsSuccess(writer3.WriteString(null, values2.Item1)); - ResultAssert.IsSuccess(writer3.WriteString(null, values2.Item2)); - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col15 = - new Out(); - assert layout.TryFind("map_t>", tempOut_col15); - col = tempOut_col15.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create((byte)2, new byte[] { 4, 5, 6 }), - Tuple.Create((byte)1, new byte[] { 1, 2, 3 }) }, (ref RowWriter writer2, TypeArgument typeArg, - Tuple[] values) -> - { - for (Tuple value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, - typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, - Tuple values2) -> - { - ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item1)); - ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), - values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, byte[] values3) -> - { - for (byte value3 : values3) { - ResultAssert.IsSuccess(writer4.WriteInt8(null, value3)); - } - - return Result.SUCCESS; - })); - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col16 = - new Out(); - assert layout.TryFind("map_t>", tempOut_col16); - col = tempOut_col16.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(7, 8), Tuple.Create(5, 6) }) - , Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(3, 4), Tuple.Create(1, 2) }) }, - (ref RowWriter writer2, TypeArgument typeArg, Tuple[]>[] values) -> - { - for (Tuple[]> value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, - typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, - Tuple[]> values2) -> - { - ResultAssert.IsSuccess(writer3.WriteInt16(null, values2.Item1)); - ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), - values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, - Tuple[] values3) -> - { - for (Tuple value3 : values3) { - ResultAssert.IsSuccess(writer4.WriteScope(null, - new TypeArgument(LayoutType.TypedTuple, typeArg3.getTypeArgs().clone()), value3, - (ref RowWriter writer5, TypeArgument typeArg4, Tuple values4) -> - { - ResultAssert.IsSuccess(writer5.WriteInt32(null, values4.Item1)); - ResultAssert.IsSuccess(writer5.WriteInt32(null, values4.Item2)); - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - Out tempOut_col17 = - new Out(); - assert layout.TryFind("map_t", tempOut_col17); - col = tempOut_col17.get(); - ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create(1.0, new RowReaderUnitTests.Point(1, 2)), Tuple.Create(2.0, new RowReaderUnitTests.Point(3, 4)), Tuple.Create(3.0, new RowReaderUnitTests.Point(5, 6)) }, (ref RowWriter writer2, TypeArgument typeArg, Tuple[] values) -> - { - for (Tuple value : values) { - ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, Tuple values2) -> - { - ResultAssert.IsSuccess(writer3.WriteFloat64(null, values2.Item1)); - Reference tempReference_writer4 = new Reference(writer4); - ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, IRowSerializable values3) -> values3.Write(tempReference_writer4, typeArg3.clone()))); - writer4 = tempReference_writer4.get(); - - return Result.SUCCESS; - })); - } - - return Result.SUCCESS; - })); - - // Save the RowWriter length after everything is written for later comparison. - writerLength = writer.Length; - return Result.SUCCESS; - })); - row = tempReference_row.get(); - - Reference tempReference_row2 = new Reference(row); - RowReader reader = new RowReader(tempReference_row2); - row = tempReference_row2.get(); - assert reader.length() == writerLength; - Reference tempReference_reader = new Reference(reader); - RowReaderUnitTests.PrintReader(tempReference_reader, 0); - reader = tempReference_reader.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Float128; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.NullValue; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.UnixDateTime; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; + +import java.nio.file.Files; +import java.time.LocalDateTime; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("StyleCop.CSharp.ReadabilityRules", +// "SA1118:ParameterMustNotSpanMultipleLines", Justification = "Test code.")][DeploymentItem(RowWriterUnitTests +// .SchemaFile, "TestData")] public sealed class RowWriterUnitTests +public final class RowWriterUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final LocalDateTime SampleDateTime = LocalDateTime.parse("2018-08-14 02:05:00.0000000"); + private static final Float128 SampleFloat128 = new Float128(0, 42); + private static final UUID SampleGuid = UUID.fromString("{2A9C25B9-922E-4611-BB0A-244A9496503C}"); + private static final MongoDbObjectId SampleMongoDbObjectId = new MongoDbObjectId(0, 42); + private static final UnixDateTime SampleUnixDateTime = new UnixDateTime(42); + private static final String SchemaFile = "TestData\\ReaderSchema.json"; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void TestInitialize() + public void TestInitialize() { + String json = Files.readString(RowWriterUnitTests.SchemaFile); + this.schema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.schema); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void WriteMixed() + public void WriteMixed() { + Layout layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "Mixed")).SchemaId); + assert layout != null; + + RowBuffer row = new RowBuffer(RowWriterUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, layout, this.resolver); + + int writerLength = 0; + Reference tempReference_row = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + ResultAssert.IsSuccess(RowWriter.writeBuffer(tempReference_row, null, (RowWriter RowWriter writer, + TypeArgument rootTypeArg, Object ignored) -> + { + ResultAssert.IsSuccess(writer.WriteNull("null")); + ResultAssert.IsSuccess(writer.WriteBool("bool", true)); + ResultAssert.IsSuccess(writer.WriteInt8("int8", (byte)-86)); + ResultAssert.IsSuccess(writer.WriteInt16("int16", (short)-21846)); + ResultAssert.IsSuccess(writer.WriteInt32("int32", -1431655766)); + ResultAssert.IsSuccess(writer.WriteInt64("int64", -6148914691236517206L)); + ResultAssert.IsSuccess(writer.WriteUInt8("uint8", (byte)0xAA)); + ResultAssert.IsSuccess(writer.WriteUInt16("uint16", (short)0xAAAA)); + ResultAssert.IsSuccess(writer.WriteUInt32("uint32", 0xAAAAAAAA)); + ResultAssert.IsSuccess(writer.WriteUInt64("uint64", 0xAAAAAAAAAAAAAAAAL)); + ResultAssert.IsSuccess(writer.WriteFloat32("float32", 1.0F / 3.0F)); + ResultAssert.IsSuccess(writer.WriteFloat64("float64", 1.0 / 3.0)); + ResultAssert.IsSuccess(writer.WriteFloat128("float128", RowWriterUnitTests.SampleFloat128)); + ResultAssert.IsSuccess(writer.WriteDecimal("decimal", java.math.BigDecimal.ONE / 3.0)); + ResultAssert.IsSuccess(writer.WriteDateTime("datetime", RowWriterUnitTests.SampleDateTime)); + ResultAssert.IsSuccess(writer.WriteUnixDateTime("unixdatetime", RowWriterUnitTests.SampleUnixDateTime)); + ResultAssert.IsSuccess(writer.WriteGuid("guid", RowWriterUnitTests.SampleGuid)); + ResultAssert.IsSuccess(writer.WriteMongoDbObjectId("mongodbobjectid", + RowWriterUnitTests.SampleMongoDbObjectId)); + ResultAssert.IsSuccess(writer.WriteString("utf8", "abc")); + ResultAssert.IsSuccess(writer.WriteString("utf8_span", Utf8Span.TranscodeUtf16("abc"))); + ResultAssert.IsSuccess(writer.WriteBinary("binary", new byte[] { (byte)0, (byte)1, (byte)2 })); + ResultAssert.IsSuccess(writer.WriteBinary("binary_span", + new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); + ResultAssert.IsSuccess(writer.WriteBinary("binary_sequence", + new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); + + ResultAssert.IsSuccess(writer.WriteVarInt("var_varint", -6148914691236517206L)); + ResultAssert.IsSuccess(writer.WriteVarUInt("var_varuint", 0xAAAAAAAAAAAAAAAAL)); + ResultAssert.IsSuccess(writer.WriteString("var_utf8", "abc")); + ResultAssert.IsSuccess(writer.WriteString("var_utf8_span", Utf8Span.TranscodeUtf16("abc"))); + ResultAssert.IsSuccess(writer.WriteBinary("var_binary", new byte[] { (byte)0, (byte)1, (byte)2 })); + ResultAssert.IsSuccess(writer.WriteBinary("var_binary_span", + new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); + ResultAssert.IsSuccess(writer.WriteBinary("var_binary_sequence", + new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); + + ResultAssert.IsSuccess(writer.WriteNull("sparse_null")); + ResultAssert.IsSuccess(writer.WriteBool("sparse_bool", true)); + ResultAssert.IsSuccess(writer.WriteInt8("sparse_int8", (byte)-86)); + ResultAssert.IsSuccess(writer.WriteInt16("sparse_int16", (short)-21846)); + ResultAssert.IsSuccess(writer.WriteInt32("sparse_int32", -1431655766)); + ResultAssert.IsSuccess(writer.WriteInt64("sparse_int64", -6148914691236517206L)); + ResultAssert.IsSuccess(writer.WriteUInt8("sparse_uint8", (byte)0xAA)); + ResultAssert.IsSuccess(writer.WriteUInt16("sparse_uint16", (short)0xAAAA)); + ResultAssert.IsSuccess(writer.WriteUInt32("sparse_uint32", 0xAAAAAAAA)); + ResultAssert.IsSuccess(writer.WriteUInt64("sparse_uint64", 0xAAAAAAAAAAAAAAAAL)); + ResultAssert.IsSuccess(writer.WriteFloat32("sparse_float32", 1.0F / 3.0F)); + ResultAssert.IsSuccess(writer.WriteFloat64("sparse_float64", 1.0 / 3.0)); + ResultAssert.IsSuccess(writer.WriteFloat128("sparse_float128", RowWriterUnitTests.SampleFloat128)); + ResultAssert.IsSuccess(writer.WriteDecimal("sparse_decimal", java.math.BigDecimal.ONE / 3.0)); + ResultAssert.IsSuccess(writer.WriteDateTime("sparse_datetime", RowWriterUnitTests.SampleDateTime)); + ResultAssert.IsSuccess(writer.WriteUnixDateTime("sparse_unixdatetime", + RowWriterUnitTests.SampleUnixDateTime)); + ResultAssert.IsSuccess(writer.WriteGuid("sparse_guid", RowWriterUnitTests.SampleGuid)); + ResultAssert.IsSuccess(writer.WriteMongoDbObjectId("sparse_mongodbobjectid", + RowWriterUnitTests.SampleMongoDbObjectId)); + ResultAssert.IsSuccess(writer.WriteString("sparse_utf8", "abc")); + ResultAssert.IsSuccess(writer.WriteString("sparse_utf8_span", Utf8Span.TranscodeUtf16("abc"))); + ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary", new byte[] { (byte)0, (byte)1, (byte)2 })); + ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary_span", + new byte[] { (byte)0, (byte)1, (byte)2 }.AsSpan())); + ResultAssert.IsSuccess(writer.WriteBinary("sparse_binary_sequence", + new ReadOnlySequence(new byte[] { (byte)0, (byte)1, (byte)2 }))); + + LayoutColumn col; + Out tempOut_col = + new Out(); + assert layout.TryFind("array_t", tempOut_col); + col = tempOut_col.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new byte[] { -86, -87, + -88 }, (ref RowWriter writer2, TypeArgument typeArg, byte[] values) -> + { + for (byte value : values) { + ResultAssert.IsSuccess(writer2.WriteInt8(null, value)); + } + + return Result.SUCCESS; + })); + + Out tempOut_col2 = + new Out(); + assert layout.TryFind("array_t>", tempOut_col2); + col = tempOut_col2.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new float[][] + { + new float[] { 1, 2, 3 }, + new float[] { 1, 2, 3 } + }, (ref RowWriter writer2, TypeArgument typeArg, float[][] values) -> + { + for (float[] value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, + (ref RowWriter writer3, TypeArgument typeArg2, float[] values2) -> + { + for (float value2 : values2) { + ResultAssert.IsSuccess(writer3.WriteFloat32(null, value2)); + } + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col3 = + new Out(); + assert layout.TryFind("array_t", tempOut_col3); + col = tempOut_col3.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new String[] { "abc", + "def", "hij" }, (ref RowWriter writer2, TypeArgument typeArg, String[] values) -> + { + for (String value : values) { + ResultAssert.IsSuccess(writer2.WriteString(null, value)); + } + + return Result.SUCCESS; + })); + + Out tempOut_col4 = + new Out(); + assert layout.TryFind("tuple", tempOut_col4); + col = tempOut_col4.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), + Tuple.Create(-6148914691236517206L, -6148914691236517206L), (ref RowWriter writer2, + TypeArgument typeArg, + Tuple values) -> + { + ResultAssert.IsSuccess(writer2.WriteVarInt(null, values.Item1)); + ResultAssert.IsSuccess(writer2.WriteInt64(null, values.Item2)); + return Result.SUCCESS; + })); + + Out tempOut_col5 = + new Out(); + assert layout.TryFind("tuple>", tempOut_col5); + col = tempOut_col5.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), + Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86)), (ref RowWriter writer2, + TypeArgument typeArg, + Tuple> values) -> + { + ResultAssert.IsSuccess(writer2.WriteNull(null)); + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, + (ref RowWriter writer3, TypeArgument typeArg2, Tuple values2) -> + { + ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item1)); + ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item2)); + return Result.SUCCESS; + })); + + return Result.SUCCESS; + })); + + Out tempOut_col6 = + new Out(); + assert layout.TryFind("tuple", tempOut_col6); + col = tempOut_col6.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create(false, + new RowReaderUnitTests.Point(1, 2)), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> + { + ResultAssert.IsSuccess(writer2.WriteBool(null, values.Item1)); + Reference tempReference_writer3 = + new Reference(writer3); + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, + (ref RowWriter writer3, TypeArgument typeArg2, IRowSerializable values2) -> values2.Write(tempReference_writer3, typeArg2.clone()))); + writer3 = tempReference_writer3.get(); + + return Result.SUCCESS; + })); + + Out tempOut_col7 = + new Out(); + assert layout.TryFind("nullable", tempOut_col7); + col = tempOut_col7.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create(null, + (Long)123L), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> + { + RowWriter.WriterFunc f0 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter writer, TypeArgument typeArg, + Integer context) -> null.invoke(writer, typeArg.clone(), context); + if (values.Item1 != null) { + f0 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter RowWriter writer3, TypeArgument typeArg2, Integer value) -> writer3.WriteInt32(null, + value.intValue()); + } + + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), values.Item1, + f0)); + + RowWriter.WriterFunc f1 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter writer, TypeArgument typeArg, + Long context) -> null.invoke(writer, typeArg.clone(), context); + if (values.Item2 != null) { + f1 = (com.azure.data.cosmos.serialization.hybridrow.io.RowWriter RowWriter writer3, TypeArgument typeArg2, Long value) -> writer3.WriteInt64(null, + value.longValue()); + } + + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(1).clone(), values.Item2, + f1)); + return Result.SUCCESS; + })); + + Out tempOut_col8 = + new Out(); + assert layout.TryFind("tagged", tempOut_col8); + col = tempOut_col8.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create((byte)3, + "hello"), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> + { + ResultAssert.IsSuccess(writer2.WriteUInt8(null, values.Item1)); + ResultAssert.IsSuccess(writer2.WriteString(null, values.Item2)); + return Result.SUCCESS; + })); + + Out tempOut_col9 = + new Out(); + assert layout.TryFind("tagged", tempOut_col9); + col = tempOut_col9.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), Tuple.Create((byte)5, + true, "bye"), (ref RowWriter writer2, TypeArgument typeArg, Tuple values) -> + { + ResultAssert.IsSuccess(writer2.WriteUInt8(null, values.Item1)); + ResultAssert.IsSuccess(writer2.WriteBool(null, values.Item2)); + ResultAssert.IsSuccess(writer2.WriteString(null, values.Item3)); + return Result.SUCCESS; + })); + + Out tempOut_col10 = + new Out(); + assert layout.TryFind("set_t", tempOut_col10); + col = tempOut_col10.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new String[] { "abc", + "xzy", "efg" }, (ref RowWriter writer2, TypeArgument typeArg, String[] values) -> + { + for (String value : values) { + ResultAssert.IsSuccess(writer2.WriteString(null, value)); + } + + return Result.SUCCESS; + })); + + Out tempOut_col11 = + new Out(); + assert layout.TryFind("set_t>", tempOut_col11); + col = tempOut_col11.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new byte[][] + { + new byte[] { 7, 8, 9 }, + new byte[] { 4, 5, 6 }, + new byte[] { 1, 2, 3 } + }, (ref RowWriter writer2, TypeArgument typeArg, byte[][] values) -> + { + for (byte[] value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, + (ref RowWriter writer3, TypeArgument typeArg2, byte[] values2) -> + { + for (byte value2 : values2) { + ResultAssert.IsSuccess(writer3.WriteInt8(null, value2)); + } + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col12 = + new Out(); + assert layout.TryFind("set_t>", tempOut_col12); + col = tempOut_col12.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new int[][] + { + new int[] { 4, 5, 6 }, + new int[] { 7, 8, 9 }, + new int[] { 1, 2, 3 } + }, (ref RowWriter writer2, TypeArgument typeArg, int[][] values) -> + { + for (int[] value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, + (ref RowWriter writer3, TypeArgument typeArg2, int[] values2) -> + { + for (int value2 : values2) { + ResultAssert.IsSuccess(writer3.WriteInt32(null, value2)); + } + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col13 = + new Out(); + assert layout.TryFind("set_t", tempOut_col13); + col = tempOut_col13.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), + new RowReaderUnitTests.Point[] + { + new RowReaderUnitTests.Point(1, 2), + new RowReaderUnitTests.Point(3, 4), + new RowReaderUnitTests.Point(5, 6) + }, (ref RowWriter writer2, TypeArgument typeArg, RowReaderUnitTests.Point[] values) -> + { + for (RowReaderUnitTests.Point value : values) { + Reference tempReference_writer3 = + new Reference(writer3); + ResultAssert.IsSuccess(writer2.WriteScope(null, typeArg.getTypeArgs().get(0).clone(), value, + (ref RowWriter writer3, TypeArgument typeArg2, IRowSerializable values2) -> values2.Write(tempReference_writer3, typeArg2.clone()))); + writer3 = tempReference_writer3.get(); + } + + return Result.SUCCESS; + })); + + Out tempOut_col14 = + new Out(); + assert layout.TryFind("map_t", tempOut_col14); + col = tempOut_col14.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create("Harrison", "Han"), Tuple.Create("Mark", "Luke") }, (ref RowWriter writer2, + TypeArgument typeArg, + Tuple[] values) -> + { + for (Tuple value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, + typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, + Tuple values2) -> + { + ResultAssert.IsSuccess(writer3.WriteString(null, values2.Item1)); + ResultAssert.IsSuccess(writer3.WriteString(null, values2.Item2)); + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col15 = + new Out(); + assert layout.TryFind("map_t>", tempOut_col15); + col = tempOut_col15.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create((byte)2, new byte[] { 4, 5, 6 }), + Tuple.Create((byte)1, new byte[] { 1, 2, 3 }) }, (ref RowWriter writer2, TypeArgument typeArg, + Tuple[] values) -> + { + for (Tuple value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, + typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, + Tuple values2) -> + { + ResultAssert.IsSuccess(writer3.WriteInt8(null, values2.Item1)); + ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), + values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, byte[] values3) -> + { + for (byte value3 : values3) { + ResultAssert.IsSuccess(writer4.WriteInt8(null, value3)); + } + + return Result.SUCCESS; + })); + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col16 = + new Out(); + assert layout.TryFind("map_t>", tempOut_col16); + col = tempOut_col16.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create((short)2, new System.Tuple[] { Tuple.Create(7, 8), Tuple.Create(5, 6) }) + , Tuple.Create((short)1, new System.Tuple[] { Tuple.Create(3, 4), Tuple.Create(1, 2) }) }, + (ref RowWriter writer2, TypeArgument typeArg, Tuple[]>[] values) -> + { + for (Tuple[]> value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, + typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, + Tuple[]> values2) -> + { + ResultAssert.IsSuccess(writer3.WriteInt16(null, values2.Item1)); + ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), + values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, + Tuple[] values3) -> + { + for (Tuple value3 : values3) { + ResultAssert.IsSuccess(writer4.WriteScope(null, + new TypeArgument(LayoutType.TypedTuple, typeArg3.getTypeArgs().clone()), value3, + (ref RowWriter writer5, TypeArgument typeArg4, Tuple values4) -> + { + ResultAssert.IsSuccess(writer5.WriteInt32(null, values4.Item1)); + ResultAssert.IsSuccess(writer5.WriteInt32(null, values4.Item2)); + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + Out tempOut_col17 = + new Out(); + assert layout.TryFind("map_t", tempOut_col17); + col = tempOut_col17.get(); + ResultAssert.IsSuccess(writer.WriteScope(col.path(), col.typeArg().clone(), new System.Tuple[] { Tuple.Create(1.0, new RowReaderUnitTests.Point(1, 2)), Tuple.Create(2.0, new RowReaderUnitTests.Point(3, 4)), Tuple.Create(3.0, new RowReaderUnitTests.Point(5, 6)) }, (ref RowWriter writer2, TypeArgument typeArg, Tuple[] values) -> + { + for (Tuple value : values) { + ResultAssert.IsSuccess(writer2.WriteScope(null, new TypeArgument(LayoutType.TypedTuple, typeArg.getTypeArgs().clone()), value, (ref RowWriter writer3, TypeArgument typeArg2, Tuple values2) -> + { + ResultAssert.IsSuccess(writer3.WriteFloat64(null, values2.Item1)); + Reference tempReference_writer4 = new Reference(writer4); + ResultAssert.IsSuccess(writer3.WriteScope(null, typeArg2.getTypeArgs().get(1).clone(), values2.Item2, (ref RowWriter writer4, TypeArgument typeArg3, IRowSerializable values3) -> values3.Write(tempReference_writer4, typeArg3.clone()))); + writer4 = tempReference_writer4.get(); + + return Result.SUCCESS; + })); + } + + return Result.SUCCESS; + })); + + // Save the RowWriter length after everything is written for later comparison. + writerLength = writer.Length; + return Result.SUCCESS; + })); + row = tempReference_row.get(); + + Reference tempReference_row2 = new Reference(row); + RowReader reader = new RowReader(tempReference_row2); + row = tempReference_row2.get(); + assert reader.length() == writerLength; + Reference tempReference_reader = new Reference(reader); + RowReaderUnitTests.PrintReader(tempReference_reader, 0); + reader = tempReference_reader.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java index 21131cb..38719d0 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaHashUnitTests.java @@ -1,272 +1,272 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import Newtonsoft.Json.*; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; -import com.azure.data.cosmos.serialization.hybridrow.schemas.PropertyType; - -import java.nio.file.Files; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(SchemaHashUnitTests.SchemaFile, "TestData")] public class -// SchemaHashUnitTests -public class SchemaHashUnitTests { - private static final String SchemaFile = "TestData\\SchemaHashCoverageSchema.json"; - private Namespace ns; - private Schema tableSchema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void InitializeSuite() - public final void InitializeSuite() { - String json = Files.readString(SchemaHashUnitTests.SchemaFile); - this.ns = Namespace.Parse(json); - this.tableSchema = tangible.ListHelper.find(this.ns.getSchemas(), s -> s.Name.equals("Table")); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaHashCompileTest() - public final void SchemaHashCompileTest() { - Layout layout = this.tableSchema.Compile(this.ns); - assert layout != null; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaHashTest() - public final void SchemaHashTest() { - // TODO: C# TO JAVA CONVERTER: Tuple variables are not converted by C# to Java Converter: - ( long low, long high)hash = SchemaHash.ComputeHash(this.ns, this.tableSchema); - assert (0,0) !=hash; - // TODO: C# TO JAVA CONVERTER: Tuple variables are not converted by C# to Java Converter: - ( long low, long high)hash2 = SchemaHash.ComputeHash(this.ns, this.tableSchema, (1, 1)) - assert hash != hash2; - - // Test clone are the same. - Schema clone = SchemaHashUnitTests.Clone(this.tableSchema); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; - - // Test Schema changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.setName("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; // Name not part of the hash - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.setComment("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; // Comment not part of the hash - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.setVersion(SchemaLanguageVersion.forValue((byte)1)); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; // Encoding version not part of the hash - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.setSchemaId(new SchemaId(42)); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.setType(TypeKind.Int8); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Options changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getOptions().setEnablePropertyLevelTimestamp(!clone.getOptions().getEnablePropertyLevelTimestamp()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getOptions().setDisallowUnschematized(!clone.getOptions().getDisallowUnschematized()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Partition Keys changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getPartitionKeys().get(0).setPath("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Primary Sort Keys changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getPrimarySortKeys().get(0).setPath("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getPrimarySortKeys().get(0).setDirection(SortDirection.Descending); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Static Keys changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getStaticKeys().get(0).setPath("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Properties changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getProperties().get(0).setComment("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; // Comment not part of the hash - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getProperties().get(0).setPath("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getProperties().get(0).getPropertyType().setApiType("something else"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getProperties().get(0).getPropertyType().setType(TypeKind.Binary); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - clone.getProperties().get(0).getPropertyType().setNullable(!clone.getProperties().get(0).getPropertyType().getNullable()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Primitive Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar = - clone.getProperties().get(0).getPropertyType(); - (tempVar instanceof PrimitivePropertyType ? (PrimitivePropertyType)tempVar : null).setLength(42); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar2 = - clone.getProperties().get(0).getPropertyType(); - (tempVar2 instanceof PrimitivePropertyType ? (PrimitivePropertyType)tempVar2 : null).setStorage(StorageKind.Variable); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Scope Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar3 = - clone.getProperties().get(1).getPropertyType(); - PropertyType tempVar4 = - clone.getProperties().get(1).getPropertyType(); - (tempVar3 instanceof ScopePropertyType ? (ScopePropertyType)tempVar3 : null).setImmutable(!(tempVar4 instanceof ScopePropertyType ? (ScopePropertyType)tempVar4 : null).getImmutable()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Array Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar5 = - clone.getProperties().get(1).getPropertyType(); - (tempVar5 instanceof ArrayPropertyType ? (ArrayPropertyType)tempVar5 : null).setItems(clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Object Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar6 = - clone.getProperties().get(2).getPropertyType(); - (tempVar6 instanceof ObjectPropertyType ? (ObjectPropertyType)tempVar6 : null).getProperties().set(0, - clone.getProperties().get(0)); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Map Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar7 = - clone.getProperties().get(3).getPropertyType(); - (tempVar7 instanceof MapPropertyType ? (MapPropertyType)tempVar7 : null).setKeys(clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar8 = - clone.getProperties().get(3).getPropertyType(); - (tempVar8 instanceof MapPropertyType ? (MapPropertyType)tempVar8 : null).setValues(clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Set Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar9 = - clone.getProperties().get(4).getPropertyType(); - (tempVar9 instanceof SetPropertyType ? (SetPropertyType)tempVar9 : null).setItems(clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Tagged Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar10 = - clone.getProperties().get(5).getPropertyType(); - (tempVar10 instanceof TaggedPropertyType ? (TaggedPropertyType)tempVar10 : null).getItems().set(0, - clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test Tuple Property Type changes - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar11 = - clone.getProperties().get(6).getPropertyType(); - (tempVar11 instanceof TuplePropertyType ? (TuplePropertyType)tempVar11 : null).getItems().set(0, - clone.getProperties().get(0).getPropertyType()); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Test UDT Property Type changes - try { - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar12 = - clone.getProperties().get(7).getPropertyType(); - (tempVar12 instanceof UdtPropertyType ? (UdtPropertyType)tempVar12 : null).setName("some non-existing UDT" + - " name"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - Assert.Fail("Should have thrown an exception."); - } catch (RuntimeException ex) { - assert ex != null; - } - - try { - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar13 = - clone.getProperties().get(7).getPropertyType(); - (tempVar13 instanceof UdtPropertyType ? (UdtPropertyType)tempVar13 : null).setName("Table"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - Assert.Fail("Should have thrown an exception."); - } catch (RuntimeException ex) { - assert ex != null; - } - - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar14 = - clone.getProperties().get(7).getPropertyType(); - (tempVar14 instanceof UdtPropertyType ? (UdtPropertyType)tempVar14 : null).setName("Table"); - PropertyType tempVar15 = - clone.getProperties().get(7).getPropertyType(); - (tempVar15 instanceof UdtPropertyType ? (UdtPropertyType)tempVar15 : null).setSchemaId(new SchemaId(2)); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash != hash2; - - // Renaming an UDT is not a breaking change as long as the SchemaId has not changed. - this.ns.getSchemas().get(0).setName("RenameActualUDT"); - clone = SchemaHashUnitTests.Clone(this.tableSchema); - PropertyType tempVar16 = clone.getProperties().get(7).getPropertyType(); - (tempVar16 instanceof UdtPropertyType ? (UdtPropertyType)tempVar16 : null).setName("RenameActualUDT"); - hash2 = SchemaHash.ComputeHash(this.ns, clone); - assert hash == hash2; - } - - private static Schema Clone(Schema s) { - JsonSerializerSettings settings = new JsonSerializerSettings(); - settings.NullValueHandling = NullValueHandling.Ignore; - settings.Formatting = Formatting.Indented; - settings.CheckAdditionalContent = true; - - String json = JsonConvert.SerializeObject(s, settings); - return JsonConvert.DeserializeObject(json, settings); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import Newtonsoft.Json.*; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; +import com.azure.data.cosmos.serialization.hybridrow.schemas.PropertyType; + +import java.nio.file.Files; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(SchemaHashUnitTests.SchemaFile, "TestData")] public class +// SchemaHashUnitTests +public class SchemaHashUnitTests { + private static final String SchemaFile = "TestData\\SchemaHashCoverageSchema.json"; + private Namespace ns; + private Schema tableSchema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void InitializeSuite() + public final void InitializeSuite() { + String json = Files.readString(SchemaHashUnitTests.SchemaFile); + this.ns = Namespace.Parse(json); + this.tableSchema = tangible.ListHelper.find(this.ns.getSchemas(), s -> s.Name.equals("Table")); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaHashCompileTest() + public final void SchemaHashCompileTest() { + Layout layout = this.tableSchema.Compile(this.ns); + assert layout != null; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaHashTest() + public final void SchemaHashTest() { + // TODO: C# TO JAVA CONVERTER: Tuple variables are not converted by C# to Java Converter: + ( long low, long high)hash = SchemaHash.ComputeHash(this.ns, this.tableSchema); + assert (0,0) !=hash; + // TODO: C# TO JAVA CONVERTER: Tuple variables are not converted by C# to Java Converter: + ( long low, long high)hash2 = SchemaHash.ComputeHash(this.ns, this.tableSchema, (1, 1)) + assert hash != hash2; + + // Test clone are the same. + Schema clone = SchemaHashUnitTests.Clone(this.tableSchema); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; + + // Test Schema changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.setName("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; // Name not part of the hash + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.setComment("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; // Comment not part of the hash + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.setVersion(SchemaLanguageVersion.forValue((byte)1)); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; // Encoding version not part of the hash + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.setSchemaId(new SchemaId(42)); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.setType(TypeKind.Int8); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Options changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getOptions().setEnablePropertyLevelTimestamp(!clone.getOptions().getEnablePropertyLevelTimestamp()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getOptions().setDisallowUnschematized(!clone.getOptions().getDisallowUnschematized()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Partition Keys changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getPartitionKeys().get(0).setPath("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Primary Sort Keys changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getPrimarySortKeys().get(0).setPath("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getPrimarySortKeys().get(0).setDirection(SortDirection.Descending); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Static Keys changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getStaticKeys().get(0).setPath("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Properties changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getProperties().get(0).setComment("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; // Comment not part of the hash + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getProperties().get(0).setPath("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getProperties().get(0).getPropertyType().setApiType("something else"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getProperties().get(0).getPropertyType().setType(TypeKind.Binary); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + clone.getProperties().get(0).getPropertyType().setNullable(!clone.getProperties().get(0).getPropertyType().getNullable()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Primitive Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar = + clone.getProperties().get(0).getPropertyType(); + (tempVar instanceof PrimitivePropertyType ? (PrimitivePropertyType)tempVar : null).setLength(42); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar2 = + clone.getProperties().get(0).getPropertyType(); + (tempVar2 instanceof PrimitivePropertyType ? (PrimitivePropertyType)tempVar2 : null).setStorage(StorageKind.Variable); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Scope Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar3 = + clone.getProperties().get(1).getPropertyType(); + PropertyType tempVar4 = + clone.getProperties().get(1).getPropertyType(); + (tempVar3 instanceof ScopePropertyType ? (ScopePropertyType)tempVar3 : null).setImmutable(!(tempVar4 instanceof ScopePropertyType ? (ScopePropertyType)tempVar4 : null).getImmutable()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Array Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar5 = + clone.getProperties().get(1).getPropertyType(); + (tempVar5 instanceof ArrayPropertyType ? (ArrayPropertyType)tempVar5 : null).setItems(clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Object Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar6 = + clone.getProperties().get(2).getPropertyType(); + (tempVar6 instanceof ObjectPropertyType ? (ObjectPropertyType)tempVar6 : null).getProperties().set(0, + clone.getProperties().get(0)); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Map Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar7 = + clone.getProperties().get(3).getPropertyType(); + (tempVar7 instanceof MapPropertyType ? (MapPropertyType)tempVar7 : null).setKeys(clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar8 = + clone.getProperties().get(3).getPropertyType(); + (tempVar8 instanceof MapPropertyType ? (MapPropertyType)tempVar8 : null).setValues(clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Set Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar9 = + clone.getProperties().get(4).getPropertyType(); + (tempVar9 instanceof SetPropertyType ? (SetPropertyType)tempVar9 : null).setItems(clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Tagged Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar10 = + clone.getProperties().get(5).getPropertyType(); + (tempVar10 instanceof TaggedPropertyType ? (TaggedPropertyType)tempVar10 : null).getItems().set(0, + clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test Tuple Property Type changes + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar11 = + clone.getProperties().get(6).getPropertyType(); + (tempVar11 instanceof TuplePropertyType ? (TuplePropertyType)tempVar11 : null).getItems().set(0, + clone.getProperties().get(0).getPropertyType()); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Test UDT Property Type changes + try { + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar12 = + clone.getProperties().get(7).getPropertyType(); + (tempVar12 instanceof UdtPropertyType ? (UdtPropertyType)tempVar12 : null).setName("some non-existing UDT" + + " name"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + Assert.Fail("Should have thrown an exception."); + } catch (RuntimeException ex) { + assert ex != null; + } + + try { + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar13 = + clone.getProperties().get(7).getPropertyType(); + (tempVar13 instanceof UdtPropertyType ? (UdtPropertyType)tempVar13 : null).setName("Table"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + Assert.Fail("Should have thrown an exception."); + } catch (RuntimeException ex) { + assert ex != null; + } + + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar14 = + clone.getProperties().get(7).getPropertyType(); + (tempVar14 instanceof UdtPropertyType ? (UdtPropertyType)tempVar14 : null).setName("Table"); + PropertyType tempVar15 = + clone.getProperties().get(7).getPropertyType(); + (tempVar15 instanceof UdtPropertyType ? (UdtPropertyType)tempVar15 : null).setSchemaId(new SchemaId(2)); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash != hash2; + + // Renaming an UDT is not a breaking change as long as the SchemaId has not changed. + this.ns.getSchemas().get(0).setName("RenameActualUDT"); + clone = SchemaHashUnitTests.Clone(this.tableSchema); + PropertyType tempVar16 = clone.getProperties().get(7).getPropertyType(); + (tempVar16 instanceof UdtPropertyType ? (UdtPropertyType)tempVar16 : null).setName("RenameActualUDT"); + hash2 = SchemaHash.ComputeHash(this.ns, clone); + assert hash == hash2; + } + + private static Schema Clone(Schema s) { + JsonSerializerSettings settings = new JsonSerializerSettings(); + settings.NullValueHandling = NullValueHandling.Ignore; + settings.Formatting = Formatting.Indented; + settings.CheckAdditionalContent = true; + + String json = JsonConvert.SerializeObject(s, settings); + return JsonConvert.DeserializeObject(json, settings); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java index ea97acc..98485ef 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaIdUnitTests.java @@ -1,44 +1,44 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import Newtonsoft.Json.*; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class SchemaIdUnitTests -public class SchemaIdUnitTests { - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaIdTest() - public final void SchemaIdTest() { - SchemaId a = new SchemaId(1); - SchemaId b = new SchemaId(2); - SchemaId c = new SchemaId(); - - assert 1 == a.value(); - assert 2 == b.value(); - assert SchemaId.INVALID == c.clone(); - assert 2 != a.value(); - assert a.clone() != b.clone(); - assert SchemaId.opEquals(a.clone(), a.clone()); - assert SchemaId.opNotEquals(a.clone(), b.clone()); - assert !a.equals(null); - assert a.hashCode() == (new SchemaId(1)).hashCode(); - assert a.hashCode() != (new SchemaId(-1)).hashCode(); - - String json = JsonConvert.SerializeObject(a.clone()); - assert "1" == json; - assert "1" == a.toString(); - - assert a.clone() == JsonConvert.DeserializeObject(json); - json = JsonConvert.SerializeObject(b.clone()); - assert "2" == json; - assert "2" == b.toString(); - assert b.clone() == JsonConvert.DeserializeObject(json); - json = JsonConvert.SerializeObject(c.clone()); - assert "0" == json; - assert "0" == c.toString(); - assert c.clone() == JsonConvert.DeserializeObject(json); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import Newtonsoft.Json.*; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class SchemaIdUnitTests +public class SchemaIdUnitTests { + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void SchemaIdTest() + public final void SchemaIdTest() { + SchemaId a = new SchemaId(1); + SchemaId b = new SchemaId(2); + SchemaId c = new SchemaId(); + + assert 1 == a.value(); + assert 2 == b.value(); + assert SchemaId.INVALID == c.clone(); + assert 2 != a.value(); + assert a.clone() != b.clone(); + assert SchemaId.opEquals(a.clone(), a.clone()); + assert SchemaId.opNotEquals(a.clone(), b.clone()); + assert !a.equals(null); + assert a.hashCode() == (new SchemaId(1)).hashCode(); + assert a.hashCode() != (new SchemaId(-1)).hashCode(); + + String json = JsonConvert.SerializeObject(a.clone()); + assert "1" == json; + assert "1" == a.toString(); + + assert a.clone() == JsonConvert.DeserializeObject(json); + json = JsonConvert.SerializeObject(b.clone()); + assert "2" == json; + assert "2" == b.toString(); + assert b.clone() == JsonConvert.DeserializeObject(json); + json = JsonConvert.SerializeObject(c.clone()); + assert "0" == json; + assert "0" == c.toString(); + assert c.clone() == JsonConvert.DeserializeObject(json); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java index 7ca8a3d..8867a64 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SchemaUnitTests.java @@ -1,994 +1,994 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import Newtonsoft.Json.*; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; -import com.azure.data.cosmos.serialization.hybridrow.schemas.SortDirection; -import com.azure.data.cosmos.serialization.hybridrow.schemas.StorageKind; -import com.azure.data.cosmos.serialization.hybridrow.schemas.TypeKind; - -import java.nio.file.Files; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here -// are anonymous.")] public class SchemaUnitTests -public class SchemaUnitTests { - PrimitivePropertyType sp = (PrimitivePropertyType)p.getPropertyType(); - String tableSchema = String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s]}", - columnSchema); - Schema s = Schema.Parse(tableSchema);) - Property p = s.getProperties().get(0); - - { - case Utf8: - case Binary: - switch (sp.getStorage()) { - case Fixed: - case Variable: - case Sparse: - Assert.AreEqual(expected.Len, sp.getLength(), "Json: {0}", expected.Json); - break; - default: - Assert.Fail("Json: {0}", expected.Json); - break; - } - - break; - } - Assert.AreEqual(1,s.getProperties(). - - getType(), "Json: {0}",expected.Json) - - getType() - Assert.AreEqual(expected.Type,p.getPropertyType(). - - size(), "Json: {0}",expected.Json) - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseNamespace() - public final void ParseNamespace() { - { - // Test empty schemas. - String[] emptyNamespaceJsonInput = { "{ }", "{'schemas': [ ] }", "{'name': null }", "{'name': null, " + - "'schemas': null }", "{'version': 'v1', 'name': null, 'schemas': null }" }; - - for (String json : emptyNamespaceJsonInput) { - Namespace n1 = Namespace.Parse(json); - Assert.IsNull(n1.getName(), "Got: {0}, Json: {1}", n1.getName(), json); - Assert.IsNotNull(n1.getSchemas(), "Json: {0}", json); - Assert.AreEqual(0, n1.getSchemas().size(), "Got: {0}, Json: {1}", n1.getSchemas(), json); - assert SchemaLanguageVersion.V1 == n1.getVersion(); - } - } - - { - // Test simple schemas and schema options. - String json = "{'name': 'myschema', 'schemas': null }"; - Namespace n1 = Namespace.Parse(json); - Assert.AreEqual("myschema", n1.getName(), "Json: {0}", json); - Assert.IsNotNull(n1.getSchemas(), "Json: {0}", json); - - // Version defaults propertly when NOT specified. - assert SchemaLanguageVersion.V1 == n1.getVersion(); - } - - { - String json = "{'name': 'myschema', 'schemas': [" + "\r\n" + - " {'version': 'v1', 'name': 'emptyTable', 'id': -1, 'type': 'schema', " + "\r\n" + - " 'options': { 'disallowUnschematized': true }, 'properties': null } ] }"; - - Namespace n1 = Namespace.Parse(json); - Assert.AreEqual("myschema", n1.getName(), "Json: {0}", json); - Assert.AreEqual(1, n1.getSchemas().size(), "Json: {0}", json); - Assert.AreEqual("emptyTable", n1.getSchemas().get(0).getName(), "Json: {0}", json); - Assert.AreEqual(new SchemaId(-1), n1.getSchemas().get(0).getSchemaId().clone(), "Json: {0}", json); - Assert.AreEqual(TypeKind.SCHEMA, n1.getSchemas().get(0).getType(), "Json: {0}", json); - Assert.AreEqual(true, n1.getSchemas().get(0).getOptions().getDisallowUnschematized(), "Json: {0}", json); - Assert.IsNotNull(n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); - Assert.AreEqual(0, n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); - assert SchemaLanguageVersion.V1 == n1.getVersion(); - } - - { - // Test basic schema with primitive columns. - String json = "{'name': 'myschema', 'schemas': [" + "\r\n" + - " {'name': 'myUDT', 'id': 1, 'type': 'schema', 'options': { " + - "'disallowUnschematized': false }, " + "\r\n" + - " 'properties': [ " + "\r\n" + - " { 'path': 'a', 'type': { 'type': 'int8', 'storage': 'fixed' }}, " + "\r\n" + - " { 'path': 'b', 'type': { 'type': 'utf8', 'storage': 'variable' }} " + "\r\n" + - " ] }" + "\r\n" + - " ] }"; - - Namespace n1 = Namespace.Parse(json); - Assert.AreEqual(1, n1.getSchemas().size(), "Json: {0}", json); - Assert.AreEqual("myUDT", n1.getSchemas().get(0).getName(), "Json: {0}", json); - Assert.AreEqual(new SchemaId(1), n1.getSchemas().get(0).getSchemaId().clone(), "Json: {0}", json); - Assert.AreEqual(TypeKind.SCHEMA, n1.getSchemas().get(0).getType(), "Json: {0}", json); - Assert.AreEqual(false, n1.getSchemas().get(0).getOptions().getDisallowUnschematized(), "Json: {0}", json); - Assert.AreEqual(2, n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); - - class AnonymousType { - public String Path; - public StorageKind Storage; - public TypeKind Type; - - public AnonymousType(String _Path, - TypeKind _Type, - StorageKind _Storage) { - Path = _Path; - Type = _Type; - Storage = _Storage; - } - } - class AnonymousType2 { - public String Path; - public StorageKind Storage; - public TypeKind Type; - - public AnonymousType2(String _Path, - TypeKind _Type, - StorageKind _Storage) { - Path = _Path; - Type = _Type; - Storage = _Storage; - } - } - Object[] expectedProps = new Object[] { AnonymousType("a", TypeKind.INT_8, StorageKind.FIXED), - AnonymousType2("b", TypeKind.UTF_8, StorageKind.VARIABLE) }; - - for (int i = 0; i < n1.getSchemas().get(0).getProperties().size(); i++) { - Property p = n1.getSchemas().get(0).getProperties().get(i); - Assert.AreEqual(expectedProps[i].Path, p.getPath(), "Json: {0}", json); - Assert.AreEqual(expectedProps[i].Type, p.getPropertyType().getType(), "Json: {0}", json); - PrimitivePropertyType sp = (PrimitivePropertyType)p.getPropertyType(); - Assert.AreEqual(expectedProps[i].Storage, sp.getStorage(), "Json: {0}", json); - } - } - } - switch(p.getPropertyType(). - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem("TestData\\CoverageSchema.json", "TestData")] - // public void ParseNamespaceExample() - public final void ParseNamespaceExample() { - String json = Files.readString("TestData\\CoverageSchema.json"); - Namespace n1 = Namespace.Parse(json); - JsonSerializerSettings settings = new JsonSerializerSettings(); - settings.NullValueHandling = NullValueHandling.Ignore; - settings.Formatting = Formatting.Indented; - - String json2 = JsonConvert.SerializeObject(n1, settings); - Namespace n2 = Namespace.Parse(json2); - String json3 = JsonConvert.SerializeObject(n2, settings); - assert json2 == json3; - }) - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaPrimitives() - public final void ParseSchemaPrimitives() { - // Test all primitive column types. - class AnonymousType { - public String Json; - public TypeKind Type; - - public AnonymousType(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType10 { - public String Json; - public TypeKind Type; - - public AnonymousType10(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType11 { - public String Json; - public TypeKind Type; - - public AnonymousType11(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType12 { - public String Json; - public TypeKind Type; - - public AnonymousType12(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType13 { - public String Json; - public TypeKind Type; - - public AnonymousType13(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType14 { - public String Json; - public TypeKind Type; - - public AnonymousType14(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType15 { - public String Json; - public TypeKind Type; - - public AnonymousType15(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType16 { - public String Json; - public TypeKind Type; - - public AnonymousType16(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType17 { - public String Json; - public TypeKind Type; - - public AnonymousType17(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType18 { - public String Json; - public TypeKind Type; - - public AnonymousType18(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType19 { - public String Json; - public TypeKind Type; - - public AnonymousType19(String _Json, - TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType2 { - public String Json; - public TypeKind Type; - - public AnonymousType2(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType20 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType20(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType21 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType21(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType22 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType22(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType23 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType23(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType24 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType24(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType25 { - public String Json; - public int Len; - public TypeKind Type; - - public AnonymousType25(String _Json, - TypeKind _Type, int _Len) { - Json = _Json; - Type = _Type; - Len = _Len; - } - } - - class AnonymousType3 { - public String Json; - public TypeKind Type; - - public AnonymousType3(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType4 { - public String Json; - public TypeKind Type; - - public AnonymousType4(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType5 { - public String Json; - public TypeKind Type; - - public AnonymousType5(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType6 { - public String Json; - public TypeKind Type; - - public AnonymousType6(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType7 { - public String Json; - public TypeKind Type; - - public AnonymousType7(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType8 { - public String Json; - public TypeKind Type; - - public AnonymousType8(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - - class AnonymousType9 { - public String Json; - public TypeKind Type; - - public AnonymousType9(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } - } - // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to the C# 'dynamic' keyword: - dynamic[] expectedSchemas = { AnonymousType("{'type': 'bool', 'storage': 'fixed'}", TypeKind.BOOLEAN), - AnonymousType2("{'type': 'int8', 'storage': 'fixed'}", TypeKind.INT_8), AnonymousType3("{'type': 'int16', " + - "'storage': 'fixed'}", TypeKind.INT_16), AnonymousType4("{'type': 'int32', 'storage': 'fixed'}", - TypeKind.INT_32), AnonymousType5("{'type': 'int64', 'storage': 'fixed'}", TypeKind.INT_64), AnonymousType6( - "{'type': 'uint8', 'storage': 'fixed'}", TypeKind.UINT_8), AnonymousType7("{'type': 'uint16', " + - "'storage': 'fixed'}", TypeKind.UINT_16), AnonymousType8("{'type': 'uint32', 'storage': 'fixed'}", - TypeKind.UINT_32), AnonymousType9("{'type': 'uint64', 'storage': 'fixed'}", TypeKind.UINT_64), - AnonymousType10("{'type': 'float32', 'storage': 'fixed'}", TypeKind.FLOAT_32), AnonymousType11("{'type': " + - "'float64', 'storage': 'fixed'}", TypeKind.FLOAT_64), AnonymousType12("{'type': 'float128', 'storage': " + - "'fixed'}", TypeKind.FLOAT_128), AnonymousType13("{'type': 'decimal', 'storage': 'fixed'}", - TypeKind.DECIMAL), AnonymousType14("{'type': 'datetime', 'storage': 'fixed'}", TypeKind.DATE_TIME), - AnonymousType15("{'type': 'unixdatetime', 'storage': 'fixed'}", TypeKind.UNIX_DATE_TIME), AnonymousType16( - "{'type': 'guid', 'storage': 'fixed'}", TypeKind.GUID), AnonymousType17("{'type': 'mongodbobjectid', " + - "'storage': 'fixed'}", TypeKind.MONGODB_OBJECT_ID), AnonymousType18("{'type': 'varint', 'storage': " + - "'variable'}", TypeKind.VAR_INT), AnonymousType19("{'type': 'varuint', 'storage': 'variable'}", - TypeKind.VAR_UINT), AnonymousType20("{'type': 'utf8', 'storage': 'fixed', 'length': 2}", TypeKind.UTF_8, 2) - , AnonymousType21("{'type': 'binary', 'storage': 'fixed', 'length': 2}", TypeKind.BINARY, 2), - AnonymousType22("{'type': 'utf8', 'storage': 'variable', 'length': 100}", TypeKind.UTF_8, 100), - AnonymousType23("{'type': 'binary', 'storage': 'variable', 'length': 100}", TypeKind.BINARY, 100), - AnonymousType24("{'type': 'utf8', 'sparse': 'variable', 'length': 1000}", TypeKind.UTF_8, 1000), - AnonymousType25("{'type': 'binary', 'sparse': 'variable', 'length': 1000}", TypeKind.BINARY, 1000) }; - - for (dynamic expected : expectedSchemas) { - String columnSchema = String.format("{'path': 'a', 'type': %1$s", expected.Json - } - } -} - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaArray() -public final void ParseSchemaArray() - { - -// Test array types include nested arrays. -class AnonymousType { - public String Json; - public TypeKind Type; - - public AnonymousType(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } -} - -class AnonymousType2 { - public String Json; - public TypeKind Type; - - public AnonymousType2(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } -} - -class AnonymousType3 { - public String Json; - public int Len; - - public AnonymousType3(String _Json, int _Len) { - Json = _Json; - Len = _Len; - } -} - -class AnonymousType4 { - public String Json; - public String Name; -// TODO: C# TO JAVA CONVERTER: There is no Java equivalent to the C# 'dynamic' keyword: - dynamic[] expectedSchemas = { AnonymousType("{'type': 'int8' }", TypeKind.INT_8), AnonymousType2("{'type': " + - "'array', 'items': {'type': 'int32'}}", TypeKind.INT_32), AnonymousType3("{'type': 'object', 'properties': " + - "null}", 0), AnonymousType4("{'type': 'schema', 'name': 'myUDT'}", "myUDT") }; - - public AnonymousType4(String _Json, String _Name) { - Json = _Json; - Name = _Name; - } -} - for(dynamic expected:expectedSchemas) - { - String arrayColumnSchema=String.format("{'path': 'a', 'type': {'type': 'array', 'items': %1$s } }", - expected.Json); - String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", - arrayColumnSchema); - Schema s=Schema.Parse(tableSchema); - Assert.AreEqual(1,s.getProperties().size(),"Json: {0}",expected.Json); - Property p=s.getProperties().get(0); - Assert.AreEqual(TypeKind.Array,p.getPropertyType().getType(),"Json: {0}",expected.Json); - ArrayPropertyType pt=(ArrayPropertyType)p.getPropertyType(); - Assert.IsNotNull(pt.getItems(),"Json: {0}",expected.Json); - switch(pt.getItems().getType()) - { - case Array: - ArrayPropertyType subArray=(ArrayPropertyType)pt.getItems(); - Assert.AreEqual(expected.Type,subArray.getItems().getType(),"Json: {0}",expected.Json); - break; - case Object: - ObjectPropertyType subObj=(ObjectPropertyType)pt.getItems(); - Assert.AreEqual(expected.Len,subObj.getProperties().size(),"Json: {0}",expected.Json); - break; - case Schema: - UdtPropertyType subRow=(UdtPropertyType)pt.getItems(); - Assert.AreEqual(expected.Name,subRow.getName(),"Json: {0}",expected.Json); - break; -default: - Assert.AreEqual(expected.Type,pt.getItems().getType(),"Json: {0}",expected.Json); - break; - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaObject() -public final void ParseSchemaObject() - { - -// Test object types include nested objects. -class AnonymousType { - public String Json; - public TypeKind Type; - - public AnonymousType(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } -} - -class AnonymousType2 { - public String Json; - public TypeKind Type; - - public AnonymousType2(String _Json, TypeKind _Type) { - Json = _Json; - Type = _Type; - } -} - -class AnonymousType3 { - public String Json; - public int Len; - - public AnonymousType3(String _Json, int _Len) { - Json = _Json; - Len = _Len; - } -} - -class AnonymousType4 { - public String Json; - public String Name; - - publ TO JAVA CONVERTER TODO TASK: There is no Java equivalent to the C# 'dynamic' keyword: - dynamic[] expectedSchemas = { AnonymousType("{'path': 'b', 'type': {'type': 'int8', 'storage': 'fixed'}}", - TypeKind.INT_8), AnonymousType2("{'path': 'b', 'type': {'type': 'array', 'items': {'type': 'int32'}}}", - TypeKind.INT_32), AnonymousType3("{'path': 'b', 'type': {'type': 'object', 'properties': [{'path': 'c', " + - "'type': {'type': 'bool'}}]}}", 1), AnonymousType4("{'path': 'b', 'type': {'type': 'schema', 'name': " + - "'myUDT'}}", "myUDT") }; - - for(/C#ic AnonymousType4(String _Json, String _Name) { - Json = _Json; - Name = _Name; - } -} - /dynamic expected:expectedSchemas) - { - String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } " + - "}",expected.Json); - String tableSchema=String.format("{'name': 'table', 'id': -2, 'type': 'schema', 'properties': [%1$s] }", - objectColumnSchema); - try - { - Schema s=Schema.Parse(tableSchema); - Assert.AreEqual(1,s.getProperties().size(),"Json: {0}",expected.Json); - Property pa=s.getProperties().get(0); - Assert.AreEqual(TypeKind.Object,pa.getPropertyType().getType(),"Json: {0}",expected.Json); - ObjectPropertyType pt=(ObjectPropertyType)pa.getPropertyType(); - Assert.AreEqual(1,pt.getProperties().size(),"Json: {0}",expected.Json); - Property pb=pt.getProperties().get(0); - switch(pb.getPropertyType().getType()) - { - case Array: - ArrayPropertyType subArray=(ArrayPropertyType)pb.getPropertyType(); - Assert.AreEqual(expected.Type,subArray.getItems().getType(),"Json: {0}",expected.Json); - break; - case Object: - ObjectPropertyType subObj=(ObjectPropertyType)pb.getPropertyType(); - Assert.AreEqual(expected.Len,subObj.getProperties().size(),"Json: {0}",expected.Json); - break; - case Schema: - UdtPropertyType subRow=(UdtPropertyType)pb.getPropertyType(); - Assert.AreEqual(expected.Name,subRow.getName(),"Json: {0}",expected.Json); - break; -default: - Assert.AreEqual(expected.Type,pb.getPropertyType().getType(),"Json: {0}",expected.Json); - break; - } - } - catch(RuntimeException ex) - { - Assert.Fail("Exception: {0}, Json: {1}",ex,expected.Json); - } - } - } - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaPartitionPrimaryKeys() -public final void ParseSchemaPartitionPrimaryKeys() - { - -// Test parsing both partition and primary sort keys. -class AnonymousType { - public Object[] CK; - - pulic String JsonCK - public String JsonPK; - public String[] PK; - pubblic AnonymousType(String _JsonPK, String _JsonCK, String[] _PK, Object[] _CK) { - JsonPK = _JsonPK; - JsonCK = _JsonCK; - PK = _PK; - CK = _CK; - } -} - -class AnonymousType2 { - public SortDirection Dir; - - pulic String Path - - pubblic AnonymousType2(String _Path, SortDirection _Dir) { - Path = _Path; - Dir = _Dir; - } -} - -class AnonymousType3 { - public SortDirection Dir; - - pulic String Path - pubblct[] expectedSchemas = new Object[] { AnonymousType("{'path': 'a'}", "{'path': 'b', 'direction': 'desc'}, " + - "{'path': 'c'}", new String[] { "a" }, new Object[] { AnonymousType2("b", SortDirection.DESCENDING), - AnonymousType3("c", SortDirection.ASCENDING) }) }; - - for(bjeic AnonymousType3(String _Path, SortDirection _Dir) { - Path = _Path; - Dir = _Dir; - } -} - OObject expected:expectedSchemas) - { - String tableSchema=String.format("{{"+"\r\n"+ - " 'name': 'table', "+"\r\n"+ - " 'id': -3,"+"\r\n"+ - " 'type': 'schema', "+"\r\n"+ - " 'properties': ["+"\r\n"+ - " {{'path': 'a', 'type': {{'type': 'int8', 'storage': 'fixed'}}}},")+"\r\n"+ - " {{'path': 'b', 'type': {{'type': 'utf8', 'storage': 'variable', 'length': 2}}}}," - +"\r\n"+ - " {{'path': 'c', 'type': {{'type': 'datetime', 'storage': 'fixed'}}}},"+"\r\n"+ - " ],"+"\r\n"+ - " 'partitionkeys': [{expected.JsonPK}],"+"\r\n"+ - " 'primarykeys': [{expected.JsonCK}]"+"\r\n"+ - " }}"; - - try - { - Schema s=Schema.Parse(tableSchema); - Assert.AreEqual(3,s.getProperties().size(),"PK: {0}, CK: {1}",expected.JsonPK,expected.JsonCK); - for(int i=0;iThrowsException(()->Namespace.Parse(t.getJson())); - } - } - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ from the original: -//ORIGINAL LINE: private struct NamespaceParserTest -private final static class NamespaceParserTest { - private String Name; - - publblivate String Json - - publ -ic String getName() { - return Name; - } - - puic String getJson() { - return Json; - } - - publ -ic void setName(String value) { - Name = value; - } - - pric void setJson(String value) { - Json = value; - } -} +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import Newtonsoft.Json.*; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; +import com.azure.data.cosmos.serialization.hybridrow.schemas.SortDirection; +import com.azure.data.cosmos.serialization.hybridrow.schemas.StorageKind; +import com.azure.data.cosmos.serialization.hybridrow.schemas.TypeKind; + +import java.nio.file.Files; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here +// are anonymous.")] public class SchemaUnitTests +public class SchemaUnitTests { + PrimitivePropertyType sp = (PrimitivePropertyType)p.getPropertyType(); + String tableSchema = String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s]}", + columnSchema); + Schema s = Schema.Parse(tableSchema);) + Property p = s.getProperties().get(0); + + { + case Utf8: + case Binary: + switch (sp.getStorage()) { + case Fixed: + case Variable: + case Sparse: + Assert.AreEqual(expected.Len, sp.getLength(), "Json: {0}", expected.Json); + break; + default: + Assert.Fail("Json: {0}", expected.Json); + break; + } + + break; + } + Assert.AreEqual(1,s.getProperties(). + + getType(), "Json: {0}",expected.Json) + + getType() + Assert.AreEqual(expected.Type,p.getPropertyType(). + + size(), "Json: {0}",expected.Json) + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseNamespace() + public final void ParseNamespace() { + { + // Test empty schemas. + String[] emptyNamespaceJsonInput = { "{ }", "{'schemas': [ ] }", "{'name': null }", "{'name': null, " + + "'schemas': null }", "{'version': 'v1', 'name': null, 'schemas': null }" }; + + for (String json : emptyNamespaceJsonInput) { + Namespace n1 = Namespace.Parse(json); + Assert.IsNull(n1.getName(), "Got: {0}, Json: {1}", n1.getName(), json); + Assert.IsNotNull(n1.getSchemas(), "Json: {0}", json); + Assert.AreEqual(0, n1.getSchemas().size(), "Got: {0}, Json: {1}", n1.getSchemas(), json); + assert SchemaLanguageVersion.V1 == n1.getVersion(); + } + } + + { + // Test simple schemas and schema options. + String json = "{'name': 'myschema', 'schemas': null }"; + Namespace n1 = Namespace.Parse(json); + Assert.AreEqual("myschema", n1.getName(), "Json: {0}", json); + Assert.IsNotNull(n1.getSchemas(), "Json: {0}", json); + + // Version defaults propertly when NOT specified. + assert SchemaLanguageVersion.V1 == n1.getVersion(); + } + + { + String json = "{'name': 'myschema', 'schemas': [" + "\r\n" + + " {'version': 'v1', 'name': 'emptyTable', 'id': -1, 'type': 'schema', " + "\r\n" + + " 'options': { 'disallowUnschematized': true }, 'properties': null } ] }"; + + Namespace n1 = Namespace.Parse(json); + Assert.AreEqual("myschema", n1.getName(), "Json: {0}", json); + Assert.AreEqual(1, n1.getSchemas().size(), "Json: {0}", json); + Assert.AreEqual("emptyTable", n1.getSchemas().get(0).getName(), "Json: {0}", json); + Assert.AreEqual(new SchemaId(-1), n1.getSchemas().get(0).getSchemaId().clone(), "Json: {0}", json); + Assert.AreEqual(TypeKind.SCHEMA, n1.getSchemas().get(0).getType(), "Json: {0}", json); + Assert.AreEqual(true, n1.getSchemas().get(0).getOptions().getDisallowUnschematized(), "Json: {0}", json); + Assert.IsNotNull(n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); + Assert.AreEqual(0, n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); + assert SchemaLanguageVersion.V1 == n1.getVersion(); + } + + { + // Test basic schema with primitive columns. + String json = "{'name': 'myschema', 'schemas': [" + "\r\n" + + " {'name': 'myUDT', 'id': 1, 'type': 'schema', 'options': { " + + "'disallowUnschematized': false }, " + "\r\n" + + " 'properties': [ " + "\r\n" + + " { 'path': 'a', 'type': { 'type': 'int8', 'storage': 'fixed' }}, " + "\r\n" + + " { 'path': 'b', 'type': { 'type': 'utf8', 'storage': 'variable' }} " + "\r\n" + + " ] }" + "\r\n" + + " ] }"; + + Namespace n1 = Namespace.Parse(json); + Assert.AreEqual(1, n1.getSchemas().size(), "Json: {0}", json); + Assert.AreEqual("myUDT", n1.getSchemas().get(0).getName(), "Json: {0}", json); + Assert.AreEqual(new SchemaId(1), n1.getSchemas().get(0).getSchemaId().clone(), "Json: {0}", json); + Assert.AreEqual(TypeKind.SCHEMA, n1.getSchemas().get(0).getType(), "Json: {0}", json); + Assert.AreEqual(false, n1.getSchemas().get(0).getOptions().getDisallowUnschematized(), "Json: {0}", json); + Assert.AreEqual(2, n1.getSchemas().get(0).getProperties().size(), "Json: {0}", json); + + class AnonymousType { + public String Path; + public StorageKind Storage; + public TypeKind Type; + + public AnonymousType(String _Path, + TypeKind _Type, + StorageKind _Storage) { + Path = _Path; + Type = _Type; + Storage = _Storage; + } + } + class AnonymousType2 { + public String Path; + public StorageKind Storage; + public TypeKind Type; + + public AnonymousType2(String _Path, + TypeKind _Type, + StorageKind _Storage) { + Path = _Path; + Type = _Type; + Storage = _Storage; + } + } + Object[] expectedProps = new Object[] { AnonymousType("a", TypeKind.INT_8, StorageKind.FIXED), + AnonymousType2("b", TypeKind.UTF_8, StorageKind.VARIABLE) }; + + for (int i = 0; i < n1.getSchemas().get(0).getProperties().size(); i++) { + Property p = n1.getSchemas().get(0).getProperties().get(i); + Assert.AreEqual(expectedProps[i].Path, p.getPath(), "Json: {0}", json); + Assert.AreEqual(expectedProps[i].Type, p.getPropertyType().getType(), "Json: {0}", json); + PrimitivePropertyType sp = (PrimitivePropertyType)p.getPropertyType(); + Assert.AreEqual(expectedProps[i].Storage, sp.getStorage(), "Json: {0}", json); + } + } + } + switch(p.getPropertyType(). + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")][DeploymentItem("TestData\\CoverageSchema.json", "TestData")] + // public void ParseNamespaceExample() + public final void ParseNamespaceExample() { + String json = Files.readString("TestData\\CoverageSchema.json"); + Namespace n1 = Namespace.Parse(json); + JsonSerializerSettings settings = new JsonSerializerSettings(); + settings.NullValueHandling = NullValueHandling.Ignore; + settings.Formatting = Formatting.Indented; + + String json2 = JsonConvert.SerializeObject(n1, settings); + Namespace n2 = Namespace.Parse(json2); + String json3 = JsonConvert.SerializeObject(n2, settings); + assert json2 == json3; + }) + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaPrimitives() + public final void ParseSchemaPrimitives() { + // Test all primitive column types. + class AnonymousType { + public String Json; + public TypeKind Type; + + public AnonymousType(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType10 { + public String Json; + public TypeKind Type; + + public AnonymousType10(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType11 { + public String Json; + public TypeKind Type; + + public AnonymousType11(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType12 { + public String Json; + public TypeKind Type; + + public AnonymousType12(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType13 { + public String Json; + public TypeKind Type; + + public AnonymousType13(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType14 { + public String Json; + public TypeKind Type; + + public AnonymousType14(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType15 { + public String Json; + public TypeKind Type; + + public AnonymousType15(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType16 { + public String Json; + public TypeKind Type; + + public AnonymousType16(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType17 { + public String Json; + public TypeKind Type; + + public AnonymousType17(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType18 { + public String Json; + public TypeKind Type; + + public AnonymousType18(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType19 { + public String Json; + public TypeKind Type; + + public AnonymousType19(String _Json, + TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType2 { + public String Json; + public TypeKind Type; + + public AnonymousType2(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType20 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType20(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType21 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType21(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType22 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType22(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType23 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType23(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType24 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType24(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType25 { + public String Json; + public int Len; + public TypeKind Type; + + public AnonymousType25(String _Json, + TypeKind _Type, int _Len) { + Json = _Json; + Type = _Type; + Len = _Len; + } + } + + class AnonymousType3 { + public String Json; + public TypeKind Type; + + public AnonymousType3(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType4 { + public String Json; + public TypeKind Type; + + public AnonymousType4(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType5 { + public String Json; + public TypeKind Type; + + public AnonymousType5(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType6 { + public String Json; + public TypeKind Type; + + public AnonymousType6(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType7 { + public String Json; + public TypeKind Type; + + public AnonymousType7(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType8 { + public String Json; + public TypeKind Type; + + public AnonymousType8(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + + class AnonymousType9 { + public String Json; + public TypeKind Type; + + public AnonymousType9(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } + } + // TODO: C# TO JAVA CONVERTER: There is no Java equivalent to the C# 'dynamic' keyword: + dynamic[] expectedSchemas = { AnonymousType("{'type': 'bool', 'storage': 'fixed'}", TypeKind.BOOLEAN), + AnonymousType2("{'type': 'int8', 'storage': 'fixed'}", TypeKind.INT_8), AnonymousType3("{'type': 'int16', " + + "'storage': 'fixed'}", TypeKind.INT_16), AnonymousType4("{'type': 'int32', 'storage': 'fixed'}", + TypeKind.INT_32), AnonymousType5("{'type': 'int64', 'storage': 'fixed'}", TypeKind.INT_64), AnonymousType6( + "{'type': 'uint8', 'storage': 'fixed'}", TypeKind.UINT_8), AnonymousType7("{'type': 'uint16', " + + "'storage': 'fixed'}", TypeKind.UINT_16), AnonymousType8("{'type': 'uint32', 'storage': 'fixed'}", + TypeKind.UINT_32), AnonymousType9("{'type': 'uint64', 'storage': 'fixed'}", TypeKind.UINT_64), + AnonymousType10("{'type': 'float32', 'storage': 'fixed'}", TypeKind.FLOAT_32), AnonymousType11("{'type': " + + "'float64', 'storage': 'fixed'}", TypeKind.FLOAT_64), AnonymousType12("{'type': 'float128', 'storage': " + + "'fixed'}", TypeKind.FLOAT_128), AnonymousType13("{'type': 'decimal', 'storage': 'fixed'}", + TypeKind.DECIMAL), AnonymousType14("{'type': 'datetime', 'storage': 'fixed'}", TypeKind.DATE_TIME), + AnonymousType15("{'type': 'unixdatetime', 'storage': 'fixed'}", TypeKind.UNIX_DATE_TIME), AnonymousType16( + "{'type': 'guid', 'storage': 'fixed'}", TypeKind.GUID), AnonymousType17("{'type': 'mongodbobjectid', " + + "'storage': 'fixed'}", TypeKind.MONGODB_OBJECT_ID), AnonymousType18("{'type': 'varint', 'storage': " + + "'variable'}", TypeKind.VAR_INT), AnonymousType19("{'type': 'varuint', 'storage': 'variable'}", + TypeKind.VAR_UINT), AnonymousType20("{'type': 'utf8', 'storage': 'fixed', 'length': 2}", TypeKind.UTF_8, 2) + , AnonymousType21("{'type': 'binary', 'storage': 'fixed', 'length': 2}", TypeKind.BINARY, 2), + AnonymousType22("{'type': 'utf8', 'storage': 'variable', 'length': 100}", TypeKind.UTF_8, 100), + AnonymousType23("{'type': 'binary', 'storage': 'variable', 'length': 100}", TypeKind.BINARY, 100), + AnonymousType24("{'type': 'utf8', 'sparse': 'variable', 'length': 1000}", TypeKind.UTF_8, 1000), + AnonymousType25("{'type': 'binary', 'sparse': 'variable', 'length': 1000}", TypeKind.BINARY, 1000) }; + + for (dynamic expected : expectedSchemas) { + String columnSchema = String.format("{'path': 'a', 'type': %1$s", expected.Json + } + } +} + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaArray() +public final void ParseSchemaArray() + { + +// Test array types include nested arrays. +class AnonymousType { + public String Json; + public TypeKind Type; + + public AnonymousType(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } +} + +class AnonymousType2 { + public String Json; + public TypeKind Type; + + public AnonymousType2(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } +} + +class AnonymousType3 { + public String Json; + public int Len; + + public AnonymousType3(String _Json, int _Len) { + Json = _Json; + Len = _Len; + } +} + +class AnonymousType4 { + public String Json; + public String Name; +// TODO: C# TO JAVA CONVERTER: There is no Java equivalent to the C# 'dynamic' keyword: + dynamic[] expectedSchemas = { AnonymousType("{'type': 'int8' }", TypeKind.INT_8), AnonymousType2("{'type': " + + "'array', 'items': {'type': 'int32'}}", TypeKind.INT_32), AnonymousType3("{'type': 'object', 'properties': " + + "null}", 0), AnonymousType4("{'type': 'schema', 'name': 'myUDT'}", "myUDT") }; + + public AnonymousType4(String _Json, String _Name) { + Json = _Json; + Name = _Name; + } +} + for(dynamic expected:expectedSchemas) + { + String arrayColumnSchema=String.format("{'path': 'a', 'type': {'type': 'array', 'items': %1$s } }", + expected.Json); + String tableSchema=String.format("{'name': 'table', 'id': -1, 'type': 'schema', 'properties': [%1$s] }", + arrayColumnSchema); + Schema s=Schema.Parse(tableSchema); + Assert.AreEqual(1,s.getProperties().size(),"Json: {0}",expected.Json); + Property p=s.getProperties().get(0); + Assert.AreEqual(TypeKind.Array,p.getPropertyType().getType(),"Json: {0}",expected.Json); + ArrayPropertyType pt=(ArrayPropertyType)p.getPropertyType(); + Assert.IsNotNull(pt.getItems(),"Json: {0}",expected.Json); + switch(pt.getItems().getType()) + { + case Array: + ArrayPropertyType subArray=(ArrayPropertyType)pt.getItems(); + Assert.AreEqual(expected.Type,subArray.getItems().getType(),"Json: {0}",expected.Json); + break; + case Object: + ObjectPropertyType subObj=(ObjectPropertyType)pt.getItems(); + Assert.AreEqual(expected.Len,subObj.getProperties().size(),"Json: {0}",expected.Json); + break; + case Schema: + UdtPropertyType subRow=(UdtPropertyType)pt.getItems(); + Assert.AreEqual(expected.Name,subRow.getName(),"Json: {0}",expected.Json); + break; +default: + Assert.AreEqual(expected.Type,pt.getItems().getType(),"Json: {0}",expected.Json); + break; + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaObject() +public final void ParseSchemaObject() + { + +// Test object types include nested objects. +class AnonymousType { + public String Json; + public TypeKind Type; + + public AnonymousType(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } +} + +class AnonymousType2 { + public String Json; + public TypeKind Type; + + public AnonymousType2(String _Json, TypeKind _Type) { + Json = _Json; + Type = _Type; + } +} + +class AnonymousType3 { + public String Json; + public int Len; + + public AnonymousType3(String _Json, int _Len) { + Json = _Json; + Len = _Len; + } +} + +class AnonymousType4 { + public String Json; + public String Name; + + publ TO JAVA CONVERTER TODO TASK: There is no Java equivalent to the C# 'dynamic' keyword: + dynamic[] expectedSchemas = { AnonymousType("{'path': 'b', 'type': {'type': 'int8', 'storage': 'fixed'}}", + TypeKind.INT_8), AnonymousType2("{'path': 'b', 'type': {'type': 'array', 'items': {'type': 'int32'}}}", + TypeKind.INT_32), AnonymousType3("{'path': 'b', 'type': {'type': 'object', 'properties': [{'path': 'c', " + + "'type': {'type': 'bool'}}]}}", 1), AnonymousType4("{'path': 'b', 'type': {'type': 'schema', 'name': " + + "'myUDT'}}", "myUDT") }; + + for(/C#ic AnonymousType4(String _Json, String _Name) { + Json = _Json; + Name = _Name; + } +} + /dynamic expected:expectedSchemas) + { + String objectColumnSchema=String.format("{'path': 'a', 'type': {'type': 'object', 'properties': [%1$s] } " + + "}",expected.Json); + String tableSchema=String.format("{'name': 'table', 'id': -2, 'type': 'schema', 'properties': [%1$s] }", + objectColumnSchema); + try + { + Schema s=Schema.Parse(tableSchema); + Assert.AreEqual(1,s.getProperties().size(),"Json: {0}",expected.Json); + Property pa=s.getProperties().get(0); + Assert.AreEqual(TypeKind.Object,pa.getPropertyType().getType(),"Json: {0}",expected.Json); + ObjectPropertyType pt=(ObjectPropertyType)pa.getPropertyType(); + Assert.AreEqual(1,pt.getProperties().size(),"Json: {0}",expected.Json); + Property pb=pt.getProperties().get(0); + switch(pb.getPropertyType().getType()) + { + case Array: + ArrayPropertyType subArray=(ArrayPropertyType)pb.getPropertyType(); + Assert.AreEqual(expected.Type,subArray.getItems().getType(),"Json: {0}",expected.Json); + break; + case Object: + ObjectPropertyType subObj=(ObjectPropertyType)pb.getPropertyType(); + Assert.AreEqual(expected.Len,subObj.getProperties().size(),"Json: {0}",expected.Json); + break; + case Schema: + UdtPropertyType subRow=(UdtPropertyType)pb.getPropertyType(); + Assert.AreEqual(expected.Name,subRow.getName(),"Json: {0}",expected.Json); + break; +default: + Assert.AreEqual(expected.Type,pb.getPropertyType().getType(),"Json: {0}",expected.Json); + break; + } + } + catch(RuntimeException ex) + { + Assert.Fail("Exception: {0}, Json: {1}",ex,expected.Json); + } + } + } + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void ParseSchemaPartitionPrimaryKeys() +public final void ParseSchemaPartitionPrimaryKeys() + { + +// Test parsing both partition and primary sort keys. +class AnonymousType { + public Object[] CK; + + pulic String JsonCK + public String JsonPK; + public String[] PK; + pubblic AnonymousType(String _JsonPK, String _JsonCK, String[] _PK, Object[] _CK) { + JsonPK = _JsonPK; + JsonCK = _JsonCK; + PK = _PK; + CK = _CK; + } +} + +class AnonymousType2 { + public SortDirection Dir; + + pulic String Path + + pubblic AnonymousType2(String _Path, SortDirection _Dir) { + Path = _Path; + Dir = _Dir; + } +} + +class AnonymousType3 { + public SortDirection Dir; + + pulic String Path + pubblct[] expectedSchemas = new Object[] { AnonymousType("{'path': 'a'}", "{'path': 'b', 'direction': 'desc'}, " + + "{'path': 'c'}", new String[] { "a" }, new Object[] { AnonymousType2("b", SortDirection.DESCENDING), + AnonymousType3("c", SortDirection.ASCENDING) }) }; + + for(bjeic AnonymousType3(String _Path, SortDirection _Dir) { + Path = _Path; + Dir = _Dir; + } +} + OObject expected:expectedSchemas) + { + String tableSchema=String.format("{{"+"\r\n"+ + " 'name': 'table', "+"\r\n"+ + " 'id': -3,"+"\r\n"+ + " 'type': 'schema', "+"\r\n"+ + " 'properties': ["+"\r\n"+ + " {{'path': 'a', 'type': {{'type': 'int8', 'storage': 'fixed'}}}},")+"\r\n"+ + " {{'path': 'b', 'type': {{'type': 'utf8', 'storage': 'variable', 'length': 2}}}}," + +"\r\n"+ + " {{'path': 'c', 'type': {{'type': 'datetime', 'storage': 'fixed'}}}},"+"\r\n"+ + " ],"+"\r\n"+ + " 'partitionkeys': [{expected.JsonPK}],"+"\r\n"+ + " 'primarykeys': [{expected.JsonCK}]"+"\r\n"+ + " }}"; + + try + { + Schema s=Schema.Parse(tableSchema); + Assert.AreEqual(3,s.getProperties().size(),"PK: {0}, CK: {1}",expected.JsonPK,expected.JsonCK); + for(int i=0;iThrowsException(()->Namespace.Parse(t.getJson())); + } + } + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ from the original: +//ORIGINAL LINE: private struct NamespaceParserTest +private final static class NamespaceParserTest { + private String Name; + + publblivate String Json + + publ +ic String getName() { + return Name; + } + + puic String getJson() { + return Json; + } + + publ +ic void setName(String value) { + Name = value; + } + + pric void setJson(String value) { + Json = value; + } +} } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java index 1da97d3..1bb34e9 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/SerializerUnitTest.java @@ -1,317 +1,317 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReaderExtensions; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1201 // Elements should appear in the correct order -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1204 // Elements should appear in the correct order -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable CA1034 // Nested types should not be visible -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable CA1051 // Do not declare visible instance fields - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(SerializerUnitTest.SchemaFile, "TestData")] public sealed class -// SerializerUnitTest -public final class SerializerUnitTest { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\BatchApiSchema.json"; - private Layout layout; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateBatchRequest() - public void CreateBatchRequest() { - BatchRequest request = new BatchRequest(); - BatchOperation tempVar = new BatchOperation(); - tempVar.OperationType = 3; - tempVar.Headers = new BatchRequestHeaders(); - tempVar.Headers.SampleRequestHeader = 12345L; - tempVar.ResourceType = 1; - tempVar.ResourcePath = "/some/url/path"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar.ResourceBody = new byte[] { 1, 2, 3 }; - tempVar.ResourceBody = new byte[] { 1, 2, 3 }; - BatchOperation tempVar2 = new BatchOperation(); - tempVar2.OperationType = 2; - tempVar2.Headers = new BatchRequestHeaders(); - tempVar2.Headers.SampleRequestHeader = 98746L; - tempVar2.ResourceType = 2; - tempVar2.ResourcePath = "/some/other/url/path"; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: tempVar2.ResourceBody = new byte[] { 3, 2, 1 }; - tempVar2.ResourceBody = new byte[] { 3, 2, 1 }; - request.Operations = new ArrayList(Arrays.asList(tempVar, tempVar2)); - - // Write the request by serializing it to a row. - RowBuffer row = new RowBuffer(SerializerUnitTest.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - Result r = RowWriter.WriteBuffer(tempReference_row, request, BatchRequestSerializer.Write); - row = tempReference_row.get(); - assert Result.SUCCESS == r; - System.out.printf("Length of serialized row: %1$s" + "\r\n", row.length()); - - // Read the row back again. - Reference tempReference_row2 = - new Reference(row); - RowReader reader = new RowReader(tempReference_row2); - row = tempReference_row2.get(); - Reference tempReference_reader = - new Reference(reader); - BatchRequest _; - Out tempOut__ = new Out(); - r = BatchRequestSerializer.Read(tempReference_reader, tempOut__); - _ = tempOut__.get(); - reader = tempReference_reader.get(); - assert Result.SUCCESS == r; - - // Dump the materialized request to the console. - Reference tempReference_row3 = - new Reference(row); - reader = new RowReader(tempReference_row3); - row = tempReference_row3.get(); - Reference tempReference_reader2 = - new Reference(reader); - String dumpStr; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - r = DiagnosticConverter.ReaderToString(tempReference_reader2, out dumpStr); - reader = tempReference_reader2.get(); - assert Result.SUCCESS == r; - System.out.println(dumpStr); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void InitTestSuite() - public void InitTestSuite() { - String json = Files.readString(SerializerUnitTest.SchemaFile); - this.schema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.schema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "BatchRequest")).SchemaId); - } - - public final static class BatchOperation { - public BatchRequestHeaders Headers; - public int OperationType; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ResourceBody; - public byte[] ResourceBody; - public String ResourcePath; - public int ResourceType; - } - - public final static class BatchOperationResponse { - public BatchResponseHeaders Headers; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte[] ResourceBody; - public byte[] ResourceBody; - public int StatusCode; - } - - public static class BatchOperationSerializer { - public static final TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, - new TypeArgumentList(new SchemaId(2))); - - public static Result Read(Reference reader, Out operation) { - BatchOperation retval = new BatchOperation(); - operation.setAndGet(null); - while (reader.get().read()) { - Result r; - switch (reader.get().path()) { - case "operationType": - Out tempOut_OperationType = new Out(); - r = reader.get().readInt32(tempOut_OperationType); - retval.OperationType = tempOut_OperationType.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "headers": - Reference tempReference_child = new Reference(child); - Out tempOut_Headers = new Out(); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - // - these are not converted by C# to Java Converter: - r = reader.get().readScope(retval, - (RowReader RowReader child, BatchOperation parent) -> BatchRequestHeadersSerializer.Read(tempReference_child, tempOut_Headers)); - parent.Headers = tempOut_Headers.get(); - child = tempReference_child.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "resourceType": - Out tempOut_ResourceType = new Out(); - r = reader.get().readInt32(tempOut_ResourceType); - retval.ResourceType = tempOut_ResourceType.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "resourcePath": - Out tempOut_ResourcePath = new Out(); - r = reader.get().readUtf8String(tempOut_ResourcePath); - retval.ResourcePath = tempOut_ResourcePath.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "resourceBody": - Out tempOut_ResourceBody = new Out(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: r = reader.ReadBinary(out retval.ResourceBody); - r = reader.get().ReadBinary(tempOut_ResourceBody); - retval.ResourceBody = tempOut_ResourceBody.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - } - } - - operation.setAndGet(retval); - return Result.SUCCESS; - } - - public static Result Write(Reference writer, TypeArgument typeArg, - BatchOperation operation) { - Result r = writer.get().WriteInt32("operationType", operation.OperationType); - if (r != Result.SUCCESS) { - return r; - } - - r = writer.get().WriteScope("headers", BatchRequestHeadersSerializer.TypeArg, operation.Headers, - BatchRequestHeadersSerializer.Write); - if (r != Result.SUCCESS) { - return r; - } - - r = writer.get().WriteInt32("resourceType", operation.ResourceType); - if (r != Result.SUCCESS) { - return r; - } - - r = writer.get().WriteString("resourcePath", operation.ResourcePath); - if (r != Result.SUCCESS) { - return r; - } - - r = writer.get().WriteBinary("resourceBody", operation.ResourceBody); - return r; - } - } - - public final static class BatchRequest { - public ArrayList Operations; - } - - public final static class BatchRequestHeaders { - public long SampleRequestHeader; - } - - public static class BatchRequestHeadersSerializer { - public static final TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, - new TypeArgumentList(new SchemaId(1))); - - public static Result Read(Reference reader, - Out header) { - BatchRequestHeaders retval = new BatchRequestHeaders(); - header.setAndGet(null); - while (reader.get().read()) { - switch (reader.get().path()) { - case "sampleRequestHeader": - Out tempOut_SampleRequestHeader = new Out(); - Result r = reader.get().readInt64(tempOut_SampleRequestHeader); - retval.SampleRequestHeader = tempOut_SampleRequestHeader.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - } - } - - header.setAndGet(retval); - return Result.SUCCESS; - } - - public static Result Write(Reference writer, TypeArgument typeArg, - BatchRequestHeaders header) { - Result r = writer.get().WriteInt64("sampleRequestHeader", header.SampleRequestHeader); - return r; - } - } - - public static class BatchRequestSerializer { - public static final TypeArgument OperationsTypeArg = new TypeArgument(LayoutType.TypedArray, new TypeArgumentList(new TypeArgument[] { BatchOperationSerializer.TypeArg })); - - public static Result Read(Reference reader, Out request) { - assert reader.get().read(); - checkState(reader.get().path().equals("operations")); - - java.util.ArrayList operations; - Out> tempOut_operations = new Out>(); - Result r = RowReaderExtensions.readList(reader.get().clone(), BatchOperationSerializer.Read, tempOut_operations); - operations = tempOut_operations.get(); - if (r != Result.SUCCESS) { - request.setAndGet(null); - return r; - } - - request.setAndGet(new BatchRequest()); - request.get().Operations = operations; - - return Result.SUCCESS; - } - - public static Result Write(Reference writer, TypeArgument typeArg, BatchRequest request) { - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - return writer.get().WriteScope("operations", BatchRequestSerializer.OperationsTypeArg, request.Operations, (ref RowWriter writer2, TypeArgument typeArg2, ArrayList operations) -> - { - for (BatchOperation operation : operations) { - Result r = writer2.WriteScope(null, BatchOperationSerializer.TypeArg, operation, BatchOperationSerializer.Write); - if (r != Result.SUCCESS) { - return r; - } - } - - return Result.SUCCESS; - }); - } - } - - public final static class BatchResponse { - public ArrayList Operations; - } - - public final static class BatchResponseHeaders { - public String SampleResponseHeader; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReaderExtensions; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1201 // Elements should appear in the correct order +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1204 // Elements should appear in the correct order +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable CA1034 // Nested types should not be visible +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable CA1051 // Do not declare visible instance fields + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(SerializerUnitTest.SchemaFile, "TestData")] public sealed class +// SerializerUnitTest +public final class SerializerUnitTest { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\BatchApiSchema.json"; + private Layout layout; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateBatchRequest() + public void CreateBatchRequest() { + BatchRequest request = new BatchRequest(); + BatchOperation tempVar = new BatchOperation(); + tempVar.OperationType = 3; + tempVar.Headers = new BatchRequestHeaders(); + tempVar.Headers.SampleRequestHeader = 12345L; + tempVar.ResourceType = 1; + tempVar.ResourcePath = "/some/url/path"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar.ResourceBody = new byte[] { 1, 2, 3 }; + tempVar.ResourceBody = new byte[] { 1, 2, 3 }; + BatchOperation tempVar2 = new BatchOperation(); + tempVar2.OperationType = 2; + tempVar2.Headers = new BatchRequestHeaders(); + tempVar2.Headers.SampleRequestHeader = 98746L; + tempVar2.ResourceType = 2; + tempVar2.ResourcePath = "/some/other/url/path"; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: tempVar2.ResourceBody = new byte[] { 3, 2, 1 }; + tempVar2.ResourceBody = new byte[] { 3, 2, 1 }; + request.Operations = new ArrayList(Arrays.asList(tempVar, tempVar2)); + + // Write the request by serializing it to a row. + RowBuffer row = new RowBuffer(SerializerUnitTest.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + Result r = RowWriter.WriteBuffer(tempReference_row, request, BatchRequestSerializer.Write); + row = tempReference_row.get(); + assert Result.SUCCESS == r; + System.out.printf("Length of serialized row: %1$s" + "\r\n", row.length()); + + // Read the row back again. + Reference tempReference_row2 = + new Reference(row); + RowReader reader = new RowReader(tempReference_row2); + row = tempReference_row2.get(); + Reference tempReference_reader = + new Reference(reader); + BatchRequest _; + Out tempOut__ = new Out(); + r = BatchRequestSerializer.Read(tempReference_reader, tempOut__); + _ = tempOut__.get(); + reader = tempReference_reader.get(); + assert Result.SUCCESS == r; + + // Dump the materialized request to the console. + Reference tempReference_row3 = + new Reference(row); + reader = new RowReader(tempReference_row3); + row = tempReference_row3.get(); + Reference tempReference_reader2 = + new Reference(reader); + String dumpStr; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + r = DiagnosticConverter.ReaderToString(tempReference_reader2, out dumpStr); + reader = tempReference_reader2.get(); + assert Result.SUCCESS == r; + System.out.println(dumpStr); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void InitTestSuite() + public void InitTestSuite() { + String json = Files.readString(SerializerUnitTest.SchemaFile); + this.schema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.schema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "BatchRequest")).SchemaId); + } + + public final static class BatchOperation { + public BatchRequestHeaders Headers; + public int OperationType; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ResourceBody; + public byte[] ResourceBody; + public String ResourcePath; + public int ResourceType; + } + + public final static class BatchOperationResponse { + public BatchResponseHeaders Headers; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte[] ResourceBody; + public byte[] ResourceBody; + public int StatusCode; + } + + public static class BatchOperationSerializer { + public static final TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, + new TypeArgumentList(new SchemaId(2))); + + public static Result Read(Reference reader, Out operation) { + BatchOperation retval = new BatchOperation(); + operation.setAndGet(null); + while (reader.get().read()) { + Result r; + switch (reader.get().path()) { + case "operationType": + Out tempOut_OperationType = new Out(); + r = reader.get().readInt32(tempOut_OperationType); + retval.OperationType = tempOut_OperationType.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "headers": + Reference tempReference_child = new Reference(child); + Out tempOut_Headers = new Out(); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword + // - these are not converted by C# to Java Converter: + r = reader.get().readScope(retval, + (RowReader RowReader child, BatchOperation parent) -> BatchRequestHeadersSerializer.Read(tempReference_child, tempOut_Headers)); + parent.Headers = tempOut_Headers.get(); + child = tempReference_child.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "resourceType": + Out tempOut_ResourceType = new Out(); + r = reader.get().readInt32(tempOut_ResourceType); + retval.ResourceType = tempOut_ResourceType.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "resourcePath": + Out tempOut_ResourcePath = new Out(); + r = reader.get().readUtf8String(tempOut_ResourcePath); + retval.ResourcePath = tempOut_ResourcePath.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "resourceBody": + Out tempOut_ResourceBody = new Out(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: r = reader.ReadBinary(out retval.ResourceBody); + r = reader.get().ReadBinary(tempOut_ResourceBody); + retval.ResourceBody = tempOut_ResourceBody.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + } + } + + operation.setAndGet(retval); + return Result.SUCCESS; + } + + public static Result Write(Reference writer, TypeArgument typeArg, + BatchOperation operation) { + Result r = writer.get().WriteInt32("operationType", operation.OperationType); + if (r != Result.SUCCESS) { + return r; + } + + r = writer.get().WriteScope("headers", BatchRequestHeadersSerializer.TypeArg, operation.Headers, + BatchRequestHeadersSerializer.Write); + if (r != Result.SUCCESS) { + return r; + } + + r = writer.get().WriteInt32("resourceType", operation.ResourceType); + if (r != Result.SUCCESS) { + return r; + } + + r = writer.get().WriteString("resourcePath", operation.ResourcePath); + if (r != Result.SUCCESS) { + return r; + } + + r = writer.get().WriteBinary("resourceBody", operation.ResourceBody); + return r; + } + } + + public final static class BatchRequest { + public ArrayList Operations; + } + + public final static class BatchRequestHeaders { + public long SampleRequestHeader; + } + + public static class BatchRequestHeadersSerializer { + public static final TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, + new TypeArgumentList(new SchemaId(1))); + + public static Result Read(Reference reader, + Out header) { + BatchRequestHeaders retval = new BatchRequestHeaders(); + header.setAndGet(null); + while (reader.get().read()) { + switch (reader.get().path()) { + case "sampleRequestHeader": + Out tempOut_SampleRequestHeader = new Out(); + Result r = reader.get().readInt64(tempOut_SampleRequestHeader); + retval.SampleRequestHeader = tempOut_SampleRequestHeader.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + } + } + + header.setAndGet(retval); + return Result.SUCCESS; + } + + public static Result Write(Reference writer, TypeArgument typeArg, + BatchRequestHeaders header) { + Result r = writer.get().WriteInt64("sampleRequestHeader", header.SampleRequestHeader); + return r; + } + } + + public static class BatchRequestSerializer { + public static final TypeArgument OperationsTypeArg = new TypeArgument(LayoutType.TypedArray, new TypeArgumentList(new TypeArgument[] { BatchOperationSerializer.TypeArg })); + + public static Result Read(Reference reader, Out request) { + assert reader.get().read(); + checkState(reader.get().path().equals("operations")); + + java.util.ArrayList operations; + Out> tempOut_operations = new Out>(); + Result r = RowReaderExtensions.readList(reader.get().clone(), BatchOperationSerializer.Read, tempOut_operations); + operations = tempOut_operations.get(); + if (r != Result.SUCCESS) { + request.setAndGet(null); + return r; + } + + request.setAndGet(new BatchRequest()); + request.get().Operations = operations; + + return Result.SUCCESS; + } + + public static Result Write(Reference writer, TypeArgument typeArg, BatchRequest request) { + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + return writer.get().WriteScope("operations", BatchRequestSerializer.OperationsTypeArg, request.Operations, (ref RowWriter writer2, TypeArgument typeArg2, ArrayList operations) -> + { + for (BatchOperation operation : operations) { + Result r = writer2.WriteScope(null, BatchOperationSerializer.TypeArg, operation, BatchOperationSerializer.Write); + if (r != Result.SUCCESS) { + return r; + } + } + + return Result.SUCCESS; + }); + } + } + + public final static class BatchResponse { + public ArrayList Operations; + } + + public final static class BatchResponseHeaders { + public String SampleResponseHeader; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java index a52d5bb..eba79c6 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TaggedUnitTests.java @@ -1,256 +1,256 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; - -import java.nio.file.Files; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TaggedUnitTests.SchemaFile, "TestData")] public sealed class TaggedUnitTests -public final class TaggedUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\TaggedApiSchema.json"; - private Layout layout; - private LayoutResolver resolver; - private Namespace schema; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTaggedApi() - public void CreateTaggedApi() { - RowBuffer row = new RowBuffer(TaggedUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - TaggedApi c1 = new TaggedApi(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: c1.Tag1 = ((byte)1, "hello"); - c1.Tag1 = ((byte)1, "hello") - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: c1.Tag2 = ((byte)2, 28, 1974L); - c1.Tag2 = ((byte)2, 28, 1974L) - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteTaggedApi(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - TaggedApi c2 = this.ReadTaggedApi(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert c1 == c2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(TaggedUnitTests.SchemaFile); - this.schema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.schema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( - "TaggedApi")).SchemaId); - } - - private TaggedApi ReadTaggedApi(Reference row, Reference root) { - TaggedApi pc = new TaggedApi(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("tag1", out c); - assert c.Type.Immutable; - RowCursor tag1Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tag1Scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref tag1Scope, out tag1Scope) == Result.SUCCESS) { - assert tag1Scope.Immutable; - assert tag1Scope.MoveNext(row); - byte apiCode; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(ref row, ref - // tag1Scope, out byte apiCode)); - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tag1Scope, - out apiCode)); - assert tag1Scope.MoveNext(row); - String str; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref tag1Scope, out str)); - pc.Tag1 = (apiCode, str) - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("tag2", out c); - assert !c.Type.Immutable; - RowCursor tag2Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tag2Scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref tag2Scope, out tag2Scope) == Result.SUCCESS) { - assert !tag2Scope.Immutable; - assert tag2Scope.MoveNext(row); - byte apiCode; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(ref row, ref - // tag2Scope, out byte apiCode)); - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tag2Scope, - out apiCode)); - assert tag2Scope.MoveNext(row); - int val1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref tag2Scope, out val1)); - assert tag2Scope.MoveNext(row); - long val2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[2].Type.TypeAs().ReadSparse(row, ref tag2Scope, out val2)); - pc.Tag2 = (apiCode, val1, val2) - } - - return pc; - } - - private void WriteTaggedApi(Reference row, Reference root, TaggedApi pc) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("tag1", out c); - RowCursor tag1Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tag1Scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tag1Scope, c.TypeArgs, - out tag1Scope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tag1Scope, pc.Tag1.Item1)); - assert tag1Scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref tag1Scope, pc.Tag1.Item2)); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("tag2", out c); - RowCursor tag2Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tag2Scope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tag2Scope, c.TypeArgs, - out tag2Scope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item1)); - assert tag2Scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item2)); - assert tag2Scope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[2].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item3)); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test - // types.")] private sealed class TaggedApi - private final static class TaggedApi { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public (byte, string) Tag1; - public (byte,String)Tag1 - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public (byte, int, long) Tag2; - public (byte,int,long)Tag2 - - // ReSharper disable once MemberCanBePrivate.Local - public boolean equals(TaggedApi other) { - return this.Tag1.equals(other.Tag1) && this.Tag2.equals(other.Tag2); - } - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof TaggedApi; - TaggedApi taggedApi = tempVar ? (TaggedApi)obj : null; - return tempVar && this.equals(taggedApi); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = 0; - hashCode = (hashCode * 397) ^ this.Tag1.hashCode(); - hashCode = (hashCode * 397) ^ this.Tag2.hashCode(); - return hashCode; - } - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; + +import java.nio.file.Files; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TaggedUnitTests.SchemaFile, "TestData")] public sealed class TaggedUnitTests +public final class TaggedUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\TaggedApiSchema.json"; + private Layout layout; + private LayoutResolver resolver; + private Namespace schema; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTaggedApi() + public void CreateTaggedApi() { + RowBuffer row = new RowBuffer(TaggedUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + TaggedApi c1 = new TaggedApi(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: c1.Tag1 = ((byte)1, "hello"); + c1.Tag1 = ((byte)1, "hello") + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: c1.Tag2 = ((byte)2, 28, 1974L); + c1.Tag2 = ((byte)2, 28, 1974L) + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteTaggedApi(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + TaggedApi c2 = this.ReadTaggedApi(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert c1 == c2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(TaggedUnitTests.SchemaFile); + this.schema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.schema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.schema.getSchemas(), x -> x.Name.equals( + "TaggedApi")).SchemaId); + } + + private TaggedApi ReadTaggedApi(Reference row, Reference root) { + TaggedApi pc = new TaggedApi(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("tag1", out c); + assert c.Type.Immutable; + RowCursor tag1Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tag1Scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref tag1Scope, out tag1Scope) == Result.SUCCESS) { + assert tag1Scope.Immutable; + assert tag1Scope.MoveNext(row); + byte apiCode; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(ref row, ref + // tag1Scope, out byte apiCode)); + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tag1Scope, + out apiCode)); + assert tag1Scope.MoveNext(row); + String str; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref tag1Scope, out str)); + pc.Tag1 = (apiCode, str) + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("tag2", out c); + assert !c.Type.Immutable; + RowCursor tag2Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tag2Scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref tag2Scope, out tag2Scope) == Result.SUCCESS) { + assert !tag2Scope.Immutable; + assert tag2Scope.MoveNext(row); + byte apiCode; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(ref row, ref + // tag2Scope, out byte apiCode)); + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tag2Scope, + out apiCode)); + assert tag2Scope.MoveNext(row); + int val1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref tag2Scope, out val1)); + assert tag2Scope.MoveNext(row); + long val2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[2].Type.TypeAs().ReadSparse(row, ref tag2Scope, out val2)); + pc.Tag2 = (apiCode, val1, val2) + } + + return pc; + } + + private void WriteTaggedApi(Reference row, Reference root, TaggedApi pc) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("tag1", out c); + RowCursor tag1Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tag1Scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tag1Scope, c.TypeArgs, + out tag1Scope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tag1Scope, pc.Tag1.Item1)); + assert tag1Scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref tag1Scope, pc.Tag1.Item2)); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("tag2", out c); + RowCursor tag2Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tag2Scope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tag2Scope, c.TypeArgs, + out tag2Scope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item1)); + assert tag2Scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item2)); + assert tag2Scope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[2].Type.TypeAs().WriteSparse(row, ref tag2Scope, pc.Tag2.Item3)); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test + // types.")] private sealed class TaggedApi + private final static class TaggedApi { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public (byte, string) Tag1; + public (byte,String)Tag1 + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public (byte, int, long) Tag2; + public (byte,int,long)Tag2 + + // ReSharper disable once MemberCanBePrivate.Local + public boolean equals(TaggedApi other) { + return this.Tag1.equals(other.Tag1) && this.Tag2.equals(other.Tag2); + } + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof TaggedApi; + TaggedApi taggedApi = tempVar ? (TaggedApi)obj : null; + return tempVar && this.equals(taggedApi); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = 0; + hashCode = (hashCode * 397) ^ this.Tag1.hashCode(); + hashCode = (hashCode * 397) ^ this.Tag2.hashCode(); + return hashCode; + } + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java index cbcc8b5..f217792 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TupleUnitTests.java @@ -1,1104 +1,1104 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.StringToken; - -import java.nio.file.Files; -import java.time.LocalDateTime; - -// ReSharper disable once StringLiteralTypo -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here -// are anonymous.")][DeploymentItem("TestData\\PerfCounterSchema.json", "TestData")] public sealed class TupleUnitTests -public final class TupleUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - - private final PerfCounter counterExample = new PerfCounter() { - Name ="RowInserts",Value =Tuple.Create("units",12046L) - }; - - private Namespace counterSchema; - private Layout countersLayout; - private LayoutResolver countersResolver; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateCoordCounter() - public void CreateCoordCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = new PerfCounter(); - c1.Name = "CoordInserts"; - Coord tempVar = new Coord(); - tempVar.Lat = 12L; - tempVar.Lng = 40L; - c1.Coord = Tuple.Create("units", tempVar); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert c1 == c2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateCounter() - public void CreateCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = this.counterExample; - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert c1 == c2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateMinMeanMaxCounter() - public void CreateMinMeanMaxCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = new PerfCounter(); - c1.Name = "RowInserts"; - c1.MinMaxValue = Tuple.Create("units", Tuple.Create(12L, 542L, 12046L)); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert c1 == c2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void DownwardDelegateWriteScope() - public void DownwardDelegateWriteScope() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - Layout layout = this.countersResolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), - x -> x.Name.equals("CounterSet")).SchemaId); - row.initLayout(HybridRowVersion.V1, layout, this.countersResolver); - - LayoutColumn col; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert layout.TryFind("history", out col); - StringToken historyToken; - Out tempOut_historyToken = - new Out(); - assert layout.getTokenizer().TryFindToken(col.Path, tempOut_historyToken); - historyToken = tempOut_historyToken.get(); - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor history; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row, out history).Find(tempReference_row2, historyToken); - row = tempReference_row2.get(); - row = tempReference_row.get(); - int ctx = 1; // ignored - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_history = - new Reference(history); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not - // converted by C# to Java Converter: - ResultAssert.IsSuccess(LayoutType.TypedArray.WriteScope(tempReference_row3, tempReference_history, col.TypeArgs, ctx, - (ref RowBuffer row2, ref RowCursor arrCur, int ctx2) -> - { - for (int i = 0; i < 5; i++) { - Reference tempReference_row2 = - new Reference(row2); - Reference tempReference_arrCur = - new Reference(arrCur); - ResultAssert.IsSuccess(LayoutType.UDT.WriteScope(tempReference_row2, tempReference_arrCur, - arrCur.ScopeTypeArgs[0].TypeArgs, i, (ref RowBuffer row3, ref RowCursor udtCur, int ctx3) -> - { - LayoutColumn col3; - assert udtCur.Layout.TryFind("minmeanmax", out col3); - Reference tempReference_row3 = - new Reference(row3); - ReferencetempRef_row32 = new Reference (row3); - ResultAssert.IsSuccess(LayoutType.TypedTuple.WriteScope(tempReference_row3, udtCur.Find(tempRef_row32, - col3.Path), col3.TypeArgs, ctx3, (ref RowBuffer row4, ref RowCursor tupCur, int ctx4) -> - { - if (ctx4 > 0) { - ReferencetempRef_row4 = new Reference (row4); - ReferencetempRef_tupCur = new Reference (tupCur); - ResultAssert.IsSuccess(LayoutType.Utf8.WriteSparse(tempRef_row4, tempRef_tupCur, "abc")); - tupCur = tempRef_tupCur.argValue; - row4 = tempRef_row4.argValue; - } - - if (ctx4 > 1) { - ReferencetempRef_row42 = new Reference (row4); - assert tupCur.MoveNext(tempRef_row42); - row4 = tempRef_row42.argValue; - Reference tempReference_row43 = new Reference(row4); - Reference tempReference_tupCur2 = new Reference(tupCur); - ResultAssert.IsSuccess(LayoutType.TypedTuple.WriteScope(tempReference_row43, - tempReference_tupCur2, - tupCur.ScopeTypeArgs[1].TypeArgs, ctx4, (ref RowBuffer row5, ref RowCursor tupCur2, - int ctx5) -> - { - if (ctx5 > 1) { - Reference tempReference_row5 = new Reference(row5); - Reference tempReference_tupCur2 = new Reference(tupCur2); - ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row5, tempReference_tupCur2 - , ctx5)); - tupCur2 = tempReference_tupCur2.get(); - row5 = tempReference_row5.get(); - } - - if (ctx5 > 2) { - ReferencetempRef_row52 = new Reference (row5); - assert tupCur2.MoveNext(tempRef_row52); - row5 = tempRef_row52.argValue; - Reference tempReference_row53 = new Reference(row5); - Reference tempReference_tupCur22 = new Reference(tupCur2); - ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row53, - tempReference_tupCur22, ctx5)); - tupCur2 = tempReference_tupCur22.get(); - row5 = tempReference_row53.get(); - } - - if (ctx5 > 3) { - ReferencetempRef_row54 = new Reference (row5); - assert tupCur2.MoveNext(tempRef_row54); - row5 = tempRef_row54.argValue; - Reference tempReference_row55 = new Reference(row5); - Reference tempReference_tupCur23 = new Reference(tupCur2); - ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row55, - tempReference_tupCur23, ctx5)); - tupCur2 = tempReference_tupCur23.get(); - row5 = tempReference_row55.get(); - } - - return Result.SUCCESS; - })); - tupCur = tempReference_tupCur2.get(); - row4 = tempReference_row43.get(); - } - - return Result.SUCCESS; - })); - row3 = tempRef_row32.argValue; - row3 = tempReference_row3.get(); - - return Result.SUCCESS; - })); - arrCur = tempReference_arrCur.get(); - row2 = tempReference_row2.get(); - - ReferencetempRef_row22 = new Reference (row2); - assert !arrCur.MoveNext(tempRef_row22); - row2 = tempRef_row22.argValue; - } - - return Result.SUCCESS; - })); - history = tempReference_history.get(); - row = tempReference_row3.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString("TestData\\PerfCounterSchema.json"); - this.counterSchema = Namespace.Parse(json); - this.countersResolver = new LayoutResolverNamespace(this.counterSchema); - this.countersLayout = this.countersResolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), - x -> x.Name.equals("Counters")).SchemaId); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventInsertsAndDeletesInFixedArityCounter() - public void PreventInsertsAndDeletesInFixedArityCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = this.counterExample; - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("value", out c); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, - out valueScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_row7 = - new Reference(row); - RowCursor valueScope2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row6, out valueScope2).Find(tempReference_row7, c.Path); - row = tempReference_row7.get(); - row = tempReference_row6.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().ReadScope(tempReference_row8, ref valueScope2, - out valueScope2)); - row = tempReference_row8.get(); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert valueScope.AsReadOnly(out _).ScopeType == valueScope2.ScopeType; - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert valueScope.AsReadOnly(out _).start == valueScope2.start(); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert valueScope.AsReadOnly(out _).Immutable == valueScope2.Immutable; - - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.TypeConstraint(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row9, ref valueScope, - "millis", UpdateOptions.InsertAt)); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.TypeConstraint(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row10, - ref valueScope)); - row = tempReference_row10.get(); - Reference tempReference_row11 = - new Reference(row); - assert !valueScope.MoveTo(tempReference_row11, 2); - row = tempReference_row11.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsCoordCounter() - public void VerifyTypeConstraintsCoordCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = new PerfCounter(); - c1.Name = "RowInserts"; - Coord tempVar = new Coord(); - tempVar.Lat = 12L; - tempVar.Lng = 40L; - c1.Coord = Tuple.Create("units", tempVar); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("coord", out c); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, - out valueScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_valueScope = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.DateTime.WriteSparse(tempReference_row6, tempReference_valueScope, - LocalDateTime.now())); - valueScope = tempReference_valueScope.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, - "mins")); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - assert valueScope.MoveNext(tempReference_row8); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_valueScope2 = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.Int8.WriteSparse(tempReference_row9, tempReference_valueScope2, (byte)42)); - valueScope = tempReference_valueScope2.get(); - row = tempReference_row9.get(); - - TypeArgument coordType = c.TypeArgs[1]; - - // Invalid because is a UDT but the wrong type. - Reference tempReference_row10 = - new Reference(row); - Reference tempReference_valueScope3 = - new Reference(valueScope); - RowCursor _; - Out tempOut__ = - new Out(); - ResultAssert.TypeConstraint(coordType.getType().TypeAs().WriteScope(tempReference_row10, - tempReference_valueScope3, new TypeArgumentList(this.countersLayout.getSchemaId().clone()), tempOut__)); - _ = tempOut__.get(); - valueScope = tempReference_valueScope3.get(); - row = tempReference_row10.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsCounter() - public void VerifyTypeConstraintsCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = this.counterExample; - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("value", out c); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, - out valueScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_valueScope = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.Boolean.WriteSparse(tempReference_row6, tempReference_valueScope, true)); - valueScope = tempReference_valueScope.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, - "millis")); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - assert valueScope.MoveNext(tempReference_row8); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_valueScope2 = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.Float32.WriteSparse(tempReference_row9, tempReference_valueScope2, - 0.1F)); - valueScope = tempReference_valueScope2.get(); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(tempReference_row10, ref valueScope, - 100L)); - row = tempReference_row10.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsMinMeanMaxCounter() - public void VerifyTypeConstraintsMinMeanMaxCounter() { - RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); - - PerfCounter c1 = new PerfCounter(); - c1.Name = "RowInserts"; - c1.MinMaxValue = Tuple.Create("units", Tuple.Create(12L, 542L, 12046L)); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - // ReSharper disable once StringLiteralTypo - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("minmeanmax", out c); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, - out valueScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_valueScope = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.DateTime.WriteSparse(tempReference_row6, tempReference_valueScope, - LocalDateTime.now())); - valueScope = tempReference_valueScope.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, - "secs")); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - assert valueScope.MoveNext(tempReference_row8); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_valueScope2 = - new Reference(valueScope); - ResultAssert.TypeConstraint(LayoutType.Decimal.WriteSparse(tempReference_row9, tempReference_valueScope2, 12)); - valueScope = tempReference_valueScope2.get(); - row = tempReference_row9.get(); - - TypeArgument mmmType = c.TypeArgs[1]; - - // Invalid because not a tuple type. - Reference tempReference_row10 = - new Reference(row); - RowCursor mmmScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row10, - ref valueScope, TypeArgumentList.Empty, out mmmScope)); - row = tempReference_row10.get(); - - // Invalid because is a tuple type but with the wrong parameters. - Reference tempReference_row11 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row11, - ref valueScope, new TypeArgumentList(new TypeArgument[] - { - new TypeArgument(LayoutType.Boolean), - new TypeArgument(LayoutType.Int64) - }), out mmmScope)); - row = tempReference_row11.get(); - - // Invalid because is a tuple type but with the wrong arity. - Reference tempReference_row12 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row12, - ref valueScope, new TypeArgumentList(new TypeArgument[] { new TypeArgument(LayoutType.Utf8) }), - out mmmScope)); - row = tempReference_row12.get(); - - Reference tempReference_row13 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(tempReference_row13, - ref valueScope, mmmType.getTypeArgs().clone(), out mmmScope)); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ResultAssert.TypeConstraint(LayoutType.Binary.WriteSparse(ref row, ref valueScope, new - // byte[] { 1, 2, 3 })); - ResultAssert.TypeConstraint(LayoutType.Binary.WriteSparse(tempReference_row14, ref valueScope, new byte[] { 1 - , 2, - 3 })); - row = tempReference_row14.get(); - Reference tempReference_row15 = - new Reference(row); - Reference tempReference_mmmScope = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(tempReference_row15 - , tempReference_mmmScope, 1L)); - mmmScope = tempReference_mmmScope.get(); - row = tempReference_row15.get(); - Reference tempReference_row16 = - new Reference(row); - assert mmmScope.MoveNext(tempReference_row16); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - Reference tempReference_mmmScope2 = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(tempReference_row17 - , tempReference_mmmScope2, 2L)); - mmmScope = tempReference_mmmScope2.get(); - row = tempReference_row17.get(); - Reference tempReference_row18 = - new Reference(row); - assert mmmScope.MoveNext(tempReference_row18); - row = tempReference_row18.get(); - Reference tempReference_row19 = - new Reference(row); - Reference tempReference_mmmScope3 = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().WriteSparse(tempReference_row19 - , tempReference_mmmScope3, 3L)); - mmmScope = tempReference_mmmScope3.get(); - row = tempReference_row19.get(); - } - - private static Coord ReadCoord(Reference row, Reference coordScope) { - Layout coordLayout = coordScope.get().getLayout(); - Coord cd = new Coord(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert coordLayout.TryFind("lat", out c); - Out tempOut_Lat = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, coordScope, c, tempOut_Lat)); - cd.Lat = tempOut_Lat.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert coordLayout.TryFind("lng", out c); - Out tempOut_Lng = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, coordScope, c, tempOut_Lng)); - cd.Lng = tempOut_Lng.get(); - - return cd; - } - - private PerfCounter ReadCounter(Reference row, Reference root) { - PerfCounter pc = new PerfCounter(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("name", out c); - Out tempOut_Name = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Name)); - pc.Name = tempOut_Name.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("value", out c); - assert c.Type.Immutable; - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { - assert valueScope.Immutable; - assert valueScope.MoveNext(row); - String units; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); - assert valueScope.MoveNext(row); - long metric; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref valueScope, - out metric)); - pc.Value = Tuple.Create(units, metric); - } - - // ReSharper disable once StringLiteralTypo - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("minmeanmax", out c); - assert c.Type.Immutable; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { - assert valueScope.Immutable; - assert valueScope.MoveNext(row); - String units; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); - - assert valueScope.MoveNext(row); - TypeArgument mmmType = c.TypeArgs[1]; - Reference tempReference_valueScope = - new Reference(valueScope); - RowCursor mmmScope; - Out tempOut_mmmScope = - new Out(); - ResultAssert.IsSuccess(mmmType.getType().TypeAs().ReadScope(row, tempReference_valueScope, - tempOut_mmmScope)); - mmmScope = tempOut_mmmScope.get(); - valueScope = tempReference_valueScope.get(); - - assert mmmScope.Immutable; - assert mmmScope.MoveNext(row); - Reference tempReference_mmmScope = - new Reference(mmmScope); - long min; - Out tempOut_min = new Out(); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, - tempReference_mmmScope, tempOut_min)); - min = tempOut_min.get(); - mmmScope = tempReference_mmmScope.get(); - assert mmmScope.MoveNext(row); - Reference tempReference_mmmScope2 = - new Reference(mmmScope); - long mean; - Out tempOut_mean = new Out(); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, - tempReference_mmmScope2, tempOut_mean)); - mean = tempOut_mean.get(); - mmmScope = tempReference_mmmScope2.get(); - assert mmmScope.MoveNext(row); - Reference tempReference_mmmScope3 = - new Reference(mmmScope); - long max; - Out tempOut_max = new Out(); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().ReadSparse(row, - tempReference_mmmScope3, tempOut_max)); - max = tempOut_max.get(); - mmmScope = tempReference_mmmScope3.get(); - - pc.MinMaxValue = Tuple.Create(units, Tuple.Create(min, mean, max)); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("coord", out c); - assert c.Type.Immutable; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { - assert valueScope.Immutable; - assert valueScope.MoveNext(row); - String units; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); - - assert valueScope.MoveNext(row); - RowCursor coordScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadScope(row, ref valueScope, - out coordScope)); - Reference tempReference_coordScope = new Reference(coordScope); - pc.Coord = Tuple.Create(units, TupleUnitTests.ReadCoord(row, tempReference_coordScope)); - coordScope = tempReference_coordScope.get(); - } - - return pc; - } - - private static void WriteCoord(Reference row, Reference coordScope, TypeArgumentList typeArgs, Coord cd) { - Layout coordLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert coordLayout.TryFind("lat", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, coordScope, c, cd.Lat)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert coordLayout.TryFind("lng", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, coordScope, c, cd.Lng)); - } - - private void WriteCounter(Reference row, Reference root, PerfCounter pc) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.countersLayout.TryFind("name", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, pc.Name)); - - if (pc.Value != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.countersLayout.TryFind("value", out c); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, - out valueScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, - pc.Value.Item1)); - assert valueScope.MoveNext(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref valueScope, - pc.Value.Item2)); - } - - if (pc.MinMaxValue != null) { - // ReSharper disable once StringLiteralTypo - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.countersLayout.TryFind("minmeanmax", out c); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, - out valueScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, - pc.MinMaxValue.Item1)); - - assert valueScope.MoveNext(row); - TypeArgument mmmType = c.TypeArgs[1]; - RowCursor mmmScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(row, ref valueScope, - mmmType.getTypeArgs().clone(), out mmmScope)); - - Reference tempReference_mmmScope = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, - tempReference_mmmScope, pc.MinMaxValue.Item2.Item1)); - mmmScope = tempReference_mmmScope.get(); - - assert mmmScope.MoveNext(row); - Reference tempReference_mmmScope2 = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row, - tempReference_mmmScope2, pc.MinMaxValue.Item2.Item2)); - mmmScope = tempReference_mmmScope2.get(); - - assert mmmScope.MoveNext(row); - Reference tempReference_mmmScope3 = - new Reference(mmmScope); - ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().WriteSparse(row, - tempReference_mmmScope3, pc.MinMaxValue.Item2.Item3)); - mmmScope = tempReference_mmmScope3.get(); - } - - if (pc.Coord != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.countersLayout.TryFind("coord", out c); - RowCursor valueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out valueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, - out valueScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, - pc.Coord.Item1)); - - assert valueScope.MoveNext(row); - TypeArgument mmmType = c.TypeArgs[1]; - Reference tempReference_valueScope = - new Reference(valueScope); - RowCursor coordScope; - Out tempOut_coordScope = - new Out(); - ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(row, tempReference_valueScope, - mmmType.getTypeArgs().clone(), tempOut_coordScope)); - coordScope = tempOut_coordScope.get(); - valueScope = tempReference_valueScope.get(); - Reference tempReference_coordScope = - new Reference(coordScope); - TupleUnitTests.WriteCoord(row, tempReference_coordScope, mmmType.getTypeArgs().clone(), pc.Coord.Item2); - coordScope = tempReference_coordScope.get(); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Coord - private final static class Coord { - public long Lat; - public long Lng; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Coord; - Coord coord = tempVar ? (Coord)obj : null; - return tempVar && this.equals(coord); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return ((new Long(this.Lat)).hashCode() * 397) ^ (new Long(this.Lng)).hashCode(); - } - } - - private boolean equals(Coord other) { - return this.Lat == other.Lat && this.Lng == other.Lng; - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class PerfCounter - private final static class PerfCounter { - // ReSharper disable once MemberHidesStaticFromOuterClass - public Tuple Coord; - public Tuple> MinMaxValue; - public String Name; - public Tuple Value; - - // ReSharper disable once MemberCanBePrivate.Local - public boolean equals(PerfCounter other) { - return this.Name.equals(other.Name) && this.Value.equals(other.Value) && this.MinMaxValue.equals(other.MinMaxValue) && this.Coord.equals(other.Coord); - } - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof PerfCounter; - PerfCounter counter = tempVar ? (PerfCounter)obj : null; - return tempVar && this.equals(counter); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = this.Name == null ? null : this.Name.hashCode() != null ? this.Name.hashCode() : 0; - hashCode = (hashCode * 397) ^ (this.Value == null ? null : this.Value.hashCode() != null ? this.Value.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.MinMaxValue == null ? null : this.MinMaxValue.hashCode() != null ? this.MinMaxValue.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Coord == null ? null : this.Coord.hashCode() != null ? this.Coord.hashCode() : 0); - return hashCode; - } - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.StringToken; + +import java.nio.file.Files; +import java.time.LocalDateTime; + +// ReSharper disable once StringLiteralTypo +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][SuppressMessage("Naming", "DontUseVarForVariableTypes", Justification = "The types here +// are anonymous.")][DeploymentItem("TestData\\PerfCounterSchema.json", "TestData")] public sealed class TupleUnitTests +public final class TupleUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + + private final PerfCounter counterExample = new PerfCounter() { + Name ="RowInserts",Value =Tuple.Create("units",12046L) + }; + + private Namespace counterSchema; + private Layout countersLayout; + private LayoutResolver countersResolver; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateCoordCounter() + public void CreateCoordCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = new PerfCounter(); + c1.Name = "CoordInserts"; + Coord tempVar = new Coord(); + tempVar.Lat = 12L; + tempVar.Lng = 40L; + c1.Coord = Tuple.Create("units", tempVar); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert c1 == c2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateCounter() + public void CreateCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = this.counterExample; + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert c1 == c2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateMinMeanMaxCounter() + public void CreateMinMeanMaxCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = new PerfCounter(); + c1.Name = "RowInserts"; + c1.MinMaxValue = Tuple.Create("units", Tuple.Create(12L, 542L, 12046L)); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + PerfCounter c2 = this.ReadCounter(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert c1 == c2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void DownwardDelegateWriteScope() + public void DownwardDelegateWriteScope() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + Layout layout = this.countersResolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), + x -> x.Name.equals("CounterSet")).SchemaId); + row.initLayout(HybridRowVersion.V1, layout, this.countersResolver); + + LayoutColumn col; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert layout.TryFind("history", out col); + StringToken historyToken; + Out tempOut_historyToken = + new Out(); + assert layout.getTokenizer().TryFindToken(col.Path, tempOut_historyToken); + historyToken = tempOut_historyToken.get(); + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor history; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row, out history).Find(tempReference_row2, historyToken); + row = tempReference_row2.get(); + row = tempReference_row.get(); + int ctx = 1; // ignored + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_history = + new Reference(history); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not + // converted by C# to Java Converter: + ResultAssert.IsSuccess(LayoutType.TypedArray.WriteScope(tempReference_row3, tempReference_history, col.TypeArgs, ctx, + (ref RowBuffer row2, ref RowCursor arrCur, int ctx2) -> + { + for (int i = 0; i < 5; i++) { + Reference tempReference_row2 = + new Reference(row2); + Reference tempReference_arrCur = + new Reference(arrCur); + ResultAssert.IsSuccess(LayoutType.UDT.WriteScope(tempReference_row2, tempReference_arrCur, + arrCur.ScopeTypeArgs[0].TypeArgs, i, (ref RowBuffer row3, ref RowCursor udtCur, int ctx3) -> + { + LayoutColumn col3; + assert udtCur.Layout.TryFind("minmeanmax", out col3); + Reference tempReference_row3 = + new Reference(row3); + ReferencetempRef_row32 = new Reference (row3); + ResultAssert.IsSuccess(LayoutType.TypedTuple.WriteScope(tempReference_row3, udtCur.Find(tempRef_row32, + col3.Path), col3.TypeArgs, ctx3, (ref RowBuffer row4, ref RowCursor tupCur, int ctx4) -> + { + if (ctx4 > 0) { + ReferencetempRef_row4 = new Reference (row4); + ReferencetempRef_tupCur = new Reference (tupCur); + ResultAssert.IsSuccess(LayoutType.Utf8.WriteSparse(tempRef_row4, tempRef_tupCur, "abc")); + tupCur = tempRef_tupCur.argValue; + row4 = tempRef_row4.argValue; + } + + if (ctx4 > 1) { + ReferencetempRef_row42 = new Reference (row4); + assert tupCur.MoveNext(tempRef_row42); + row4 = tempRef_row42.argValue; + Reference tempReference_row43 = new Reference(row4); + Reference tempReference_tupCur2 = new Reference(tupCur); + ResultAssert.IsSuccess(LayoutType.TypedTuple.WriteScope(tempReference_row43, + tempReference_tupCur2, + tupCur.ScopeTypeArgs[1].TypeArgs, ctx4, (ref RowBuffer row5, ref RowCursor tupCur2, + int ctx5) -> + { + if (ctx5 > 1) { + Reference tempReference_row5 = new Reference(row5); + Reference tempReference_tupCur2 = new Reference(tupCur2); + ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row5, tempReference_tupCur2 + , ctx5)); + tupCur2 = tempReference_tupCur2.get(); + row5 = tempReference_row5.get(); + } + + if (ctx5 > 2) { + ReferencetempRef_row52 = new Reference (row5); + assert tupCur2.MoveNext(tempRef_row52); + row5 = tempRef_row52.argValue; + Reference tempReference_row53 = new Reference(row5); + Reference tempReference_tupCur22 = new Reference(tupCur2); + ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row53, + tempReference_tupCur22, ctx5)); + tupCur2 = tempReference_tupCur22.get(); + row5 = tempReference_row53.get(); + } + + if (ctx5 > 3) { + ReferencetempRef_row54 = new Reference (row5); + assert tupCur2.MoveNext(tempRef_row54); + row5 = tempRef_row54.argValue; + Reference tempReference_row55 = new Reference(row5); + Reference tempReference_tupCur23 = new Reference(tupCur2); + ResultAssert.IsSuccess(LayoutType.Int64.WriteSparse(tempReference_row55, + tempReference_tupCur23, ctx5)); + tupCur2 = tempReference_tupCur23.get(); + row5 = tempReference_row55.get(); + } + + return Result.SUCCESS; + })); + tupCur = tempReference_tupCur2.get(); + row4 = tempReference_row43.get(); + } + + return Result.SUCCESS; + })); + row3 = tempRef_row32.argValue; + row3 = tempReference_row3.get(); + + return Result.SUCCESS; + })); + arrCur = tempReference_arrCur.get(); + row2 = tempReference_row2.get(); + + ReferencetempRef_row22 = new Reference (row2); + assert !arrCur.MoveNext(tempRef_row22); + row2 = tempRef_row22.argValue; + } + + return Result.SUCCESS; + })); + history = tempReference_history.get(); + row = tempReference_row3.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString("TestData\\PerfCounterSchema.json"); + this.counterSchema = Namespace.Parse(json); + this.countersResolver = new LayoutResolverNamespace(this.counterSchema); + this.countersLayout = this.countersResolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), + x -> x.Name.equals("Counters")).SchemaId); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventInsertsAndDeletesInFixedArityCounter() + public void PreventInsertsAndDeletesInFixedArityCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = this.counterExample; + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("value", out c); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, + out valueScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_row7 = + new Reference(row); + RowCursor valueScope2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row6, out valueScope2).Find(tempReference_row7, c.Path); + row = tempReference_row7.get(); + row = tempReference_row6.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().ReadScope(tempReference_row8, ref valueScope2, + out valueScope2)); + row = tempReference_row8.get(); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert valueScope.AsReadOnly(out _).ScopeType == valueScope2.ScopeType; + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert valueScope.AsReadOnly(out _).start == valueScope2.start(); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert valueScope.AsReadOnly(out _).Immutable == valueScope2.Immutable; + + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.TypeConstraint(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row9, ref valueScope, + "millis", UpdateOptions.InsertAt)); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.TypeConstraint(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row10, + ref valueScope)); + row = tempReference_row10.get(); + Reference tempReference_row11 = + new Reference(row); + assert !valueScope.MoveTo(tempReference_row11, 2); + row = tempReference_row11.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsCoordCounter() + public void VerifyTypeConstraintsCoordCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = new PerfCounter(); + c1.Name = "RowInserts"; + Coord tempVar = new Coord(); + tempVar.Lat = 12L; + tempVar.Lng = 40L; + c1.Coord = Tuple.Create("units", tempVar); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("coord", out c); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, + out valueScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_valueScope = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.DateTime.WriteSparse(tempReference_row6, tempReference_valueScope, + LocalDateTime.now())); + valueScope = tempReference_valueScope.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, + "mins")); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + assert valueScope.MoveNext(tempReference_row8); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_valueScope2 = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.Int8.WriteSparse(tempReference_row9, tempReference_valueScope2, (byte)42)); + valueScope = tempReference_valueScope2.get(); + row = tempReference_row9.get(); + + TypeArgument coordType = c.TypeArgs[1]; + + // Invalid because is a UDT but the wrong type. + Reference tempReference_row10 = + new Reference(row); + Reference tempReference_valueScope3 = + new Reference(valueScope); + RowCursor _; + Out tempOut__ = + new Out(); + ResultAssert.TypeConstraint(coordType.getType().TypeAs().WriteScope(tempReference_row10, + tempReference_valueScope3, new TypeArgumentList(this.countersLayout.getSchemaId().clone()), tempOut__)); + _ = tempOut__.get(); + valueScope = tempReference_valueScope3.get(); + row = tempReference_row10.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsCounter() + public void VerifyTypeConstraintsCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = this.counterExample; + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("value", out c); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, + out valueScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_valueScope = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.Boolean.WriteSparse(tempReference_row6, tempReference_valueScope, true)); + valueScope = tempReference_valueScope.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, + "millis")); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + assert valueScope.MoveNext(tempReference_row8); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_valueScope2 = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.Float32.WriteSparse(tempReference_row9, tempReference_valueScope2, + 0.1F)); + valueScope = tempReference_valueScope2.get(); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(tempReference_row10, ref valueScope, + 100L)); + row = tempReference_row10.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void VerifyTypeConstraintsMinMeanMaxCounter() + public void VerifyTypeConstraintsMinMeanMaxCounter() { + RowBuffer row = new RowBuffer(TupleUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.countersLayout, this.countersResolver); + + PerfCounter c1 = new PerfCounter(); + c1.Name = "RowInserts"; + c1.MinMaxValue = Tuple.Create("units", Tuple.Create(12L, 542L, 12046L)); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteCounter(tempReference_row, RowCursor.create(tempReference_row2, out _), c1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + // ReSharper disable once StringLiteralTypo + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("minmeanmax", out c); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row3, out valueScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(tempReference_row5, ref valueScope, c.TypeArgs, + out valueScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_valueScope = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.DateTime.WriteSparse(tempReference_row6, tempReference_valueScope, + LocalDateTime.now())); + valueScope = tempReference_valueScope.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref valueScope, + "secs")); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + assert valueScope.MoveNext(tempReference_row8); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_valueScope2 = + new Reference(valueScope); + ResultAssert.TypeConstraint(LayoutType.Decimal.WriteSparse(tempReference_row9, tempReference_valueScope2, 12)); + valueScope = tempReference_valueScope2.get(); + row = tempReference_row9.get(); + + TypeArgument mmmType = c.TypeArgs[1]; + + // Invalid because not a tuple type. + Reference tempReference_row10 = + new Reference(row); + RowCursor mmmScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row10, + ref valueScope, TypeArgumentList.Empty, out mmmScope)); + row = tempReference_row10.get(); + + // Invalid because is a tuple type but with the wrong parameters. + Reference tempReference_row11 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row11, + ref valueScope, new TypeArgumentList(new TypeArgument[] + { + new TypeArgument(LayoutType.Boolean), + new TypeArgument(LayoutType.Int64) + }), out mmmScope)); + row = tempReference_row11.get(); + + // Invalid because is a tuple type but with the wrong arity. + Reference tempReference_row12 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.TypeConstraint(mmmType.getType().TypeAs().WriteScope(tempReference_row12, + ref valueScope, new TypeArgumentList(new TypeArgument[] { new TypeArgument(LayoutType.Utf8) }), + out mmmScope)); + row = tempReference_row12.get(); + + Reference tempReference_row13 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(tempReference_row13, + ref valueScope, mmmType.getTypeArgs().clone(), out mmmScope)); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ResultAssert.TypeConstraint(LayoutType.Binary.WriteSparse(ref row, ref valueScope, new + // byte[] { 1, 2, 3 })); + ResultAssert.TypeConstraint(LayoutType.Binary.WriteSparse(tempReference_row14, ref valueScope, new byte[] { 1 + , 2, + 3 })); + row = tempReference_row14.get(); + Reference tempReference_row15 = + new Reference(row); + Reference tempReference_mmmScope = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(tempReference_row15 + , tempReference_mmmScope, 1L)); + mmmScope = tempReference_mmmScope.get(); + row = tempReference_row15.get(); + Reference tempReference_row16 = + new Reference(row); + assert mmmScope.MoveNext(tempReference_row16); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + Reference tempReference_mmmScope2 = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(tempReference_row17 + , tempReference_mmmScope2, 2L)); + mmmScope = tempReference_mmmScope2.get(); + row = tempReference_row17.get(); + Reference tempReference_row18 = + new Reference(row); + assert mmmScope.MoveNext(tempReference_row18); + row = tempReference_row18.get(); + Reference tempReference_row19 = + new Reference(row); + Reference tempReference_mmmScope3 = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().WriteSparse(tempReference_row19 + , tempReference_mmmScope3, 3L)); + mmmScope = tempReference_mmmScope3.get(); + row = tempReference_row19.get(); + } + + private static Coord ReadCoord(Reference row, Reference coordScope) { + Layout coordLayout = coordScope.get().getLayout(); + Coord cd = new Coord(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert coordLayout.TryFind("lat", out c); + Out tempOut_Lat = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, coordScope, c, tempOut_Lat)); + cd.Lat = tempOut_Lat.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert coordLayout.TryFind("lng", out c); + Out tempOut_Lng = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, coordScope, c, tempOut_Lng)); + cd.Lng = tempOut_Lng.get(); + + return cd; + } + + private PerfCounter ReadCounter(Reference row, Reference root) { + PerfCounter pc = new PerfCounter(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("name", out c); + Out tempOut_Name = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Name)); + pc.Name = tempOut_Name.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("value", out c); + assert c.Type.Immutable; + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { + assert valueScope.Immutable; + assert valueScope.MoveNext(row); + String units; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); + assert valueScope.MoveNext(row); + long metric; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadSparse(row, ref valueScope, + out metric)); + pc.Value = Tuple.Create(units, metric); + } + + // ReSharper disable once StringLiteralTypo + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("minmeanmax", out c); + assert c.Type.Immutable; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { + assert valueScope.Immutable; + assert valueScope.MoveNext(row); + String units; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); + + assert valueScope.MoveNext(row); + TypeArgument mmmType = c.TypeArgs[1]; + Reference tempReference_valueScope = + new Reference(valueScope); + RowCursor mmmScope; + Out tempOut_mmmScope = + new Out(); + ResultAssert.IsSuccess(mmmType.getType().TypeAs().ReadScope(row, tempReference_valueScope, + tempOut_mmmScope)); + mmmScope = tempOut_mmmScope.get(); + valueScope = tempReference_valueScope.get(); + + assert mmmScope.Immutable; + assert mmmScope.MoveNext(row); + Reference tempReference_mmmScope = + new Reference(mmmScope); + long min; + Out tempOut_min = new Out(); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, + tempReference_mmmScope, tempOut_min)); + min = tempOut_min.get(); + mmmScope = tempReference_mmmScope.get(); + assert mmmScope.MoveNext(row); + Reference tempReference_mmmScope2 = + new Reference(mmmScope); + long mean; + Out tempOut_mean = new Out(); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, + tempReference_mmmScope2, tempOut_mean)); + mean = tempOut_mean.get(); + mmmScope = tempReference_mmmScope2.get(); + assert mmmScope.MoveNext(row); + Reference tempReference_mmmScope3 = + new Reference(mmmScope); + long max; + Out tempOut_max = new Out(); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().ReadSparse(row, + tempReference_mmmScope3, tempOut_max)); + max = tempOut_max.get(); + mmmScope = tempReference_mmmScope3.get(); + + pc.MinMaxValue = Tuple.Create(units, Tuple.Create(min, mean, max)); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("coord", out c); + assert c.Type.Immutable; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref valueScope, out valueScope) == Result.SUCCESS) { + assert valueScope.Immutable; + assert valueScope.MoveNext(row); + String units; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref valueScope, out units)); + + assert valueScope.MoveNext(row); + RowCursor coordScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().ReadScope(row, ref valueScope, + out coordScope)); + Reference tempReference_coordScope = new Reference(coordScope); + pc.Coord = Tuple.Create(units, TupleUnitTests.ReadCoord(row, tempReference_coordScope)); + coordScope = tempReference_coordScope.get(); + } + + return pc; + } + + private static void WriteCoord(Reference row, Reference coordScope, TypeArgumentList typeArgs, Coord cd) { + Layout coordLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert coordLayout.TryFind("lat", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, coordScope, c, cd.Lat)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert coordLayout.TryFind("lng", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, coordScope, c, cd.Lng)); + } + + private void WriteCounter(Reference row, Reference root, PerfCounter pc) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.countersLayout.TryFind("name", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, pc.Name)); + + if (pc.Value != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.countersLayout.TryFind("value", out c); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, + out valueScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, + pc.Value.Item1)); + assert valueScope.MoveNext(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[1].Type.TypeAs().WriteSparse(row, ref valueScope, + pc.Value.Item2)); + } + + if (pc.MinMaxValue != null) { + // ReSharper disable once StringLiteralTypo + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.countersLayout.TryFind("minmeanmax", out c); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, + out valueScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, + pc.MinMaxValue.Item1)); + + assert valueScope.MoveNext(row); + TypeArgument mmmType = c.TypeArgs[1]; + RowCursor mmmScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(row, ref valueScope, + mmmType.getTypeArgs().clone(), out mmmScope)); + + Reference tempReference_mmmScope = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, + tempReference_mmmScope, pc.MinMaxValue.Item2.Item1)); + mmmScope = tempReference_mmmScope.get(); + + assert mmmScope.MoveNext(row); + Reference tempReference_mmmScope2 = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row, + tempReference_mmmScope2, pc.MinMaxValue.Item2.Item2)); + mmmScope = tempReference_mmmScope2.get(); + + assert mmmScope.MoveNext(row); + Reference tempReference_mmmScope3 = + new Reference(mmmScope); + ResultAssert.IsSuccess(mmmType.getTypeArgs().get(2).getType().TypeAs().WriteSparse(row, + tempReference_mmmScope3, pc.MinMaxValue.Item2.Item3)); + mmmScope = tempReference_mmmScope3.get(); + } + + if (pc.Coord != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.countersLayout.TryFind("coord", out c); + RowCursor valueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out valueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref valueScope, c.TypeArgs, + out valueScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref valueScope, + pc.Coord.Item1)); + + assert valueScope.MoveNext(row); + TypeArgument mmmType = c.TypeArgs[1]; + Reference tempReference_valueScope = + new Reference(valueScope); + RowCursor coordScope; + Out tempOut_coordScope = + new Out(); + ResultAssert.IsSuccess(mmmType.getType().TypeAs().WriteScope(row, tempReference_valueScope, + mmmType.getTypeArgs().clone(), tempOut_coordScope)); + coordScope = tempOut_coordScope.get(); + valueScope = tempReference_valueScope.get(); + Reference tempReference_coordScope = + new Reference(coordScope); + TupleUnitTests.WriteCoord(row, tempReference_coordScope, mmmType.getTypeArgs().clone(), pc.Coord.Item2); + coordScope = tempReference_coordScope.get(); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Coord + private final static class Coord { + public long Lat; + public long Lng; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Coord; + Coord coord = tempVar ? (Coord)obj : null; + return tempVar && this.equals(coord); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return ((new Long(this.Lat)).hashCode() * 397) ^ (new Long(this.Lng)).hashCode(); + } + } + + private boolean equals(Coord other) { + return this.Lat == other.Lat && this.Lng == other.Lng; + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class PerfCounter + private final static class PerfCounter { + // ReSharper disable once MemberHidesStaticFromOuterClass + public Tuple Coord; + public Tuple> MinMaxValue; + public String Name; + public Tuple Value; + + // ReSharper disable once MemberCanBePrivate.Local + public boolean equals(PerfCounter other) { + return this.Name.equals(other.Name) && this.Value.equals(other.Value) && this.MinMaxValue.equals(other.MinMaxValue) && this.Coord.equals(other.Coord); + } + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof PerfCounter; + PerfCounter counter = tempVar ? (PerfCounter)obj : null; + return tempVar && this.equals(counter); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = this.Name == null ? null : this.Name.hashCode() != null ? this.Name.hashCode() : 0; + hashCode = (hashCode * 397) ^ (this.Value == null ? null : this.Value.hashCode() != null ? this.Value.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.MinMaxValue == null ? null : this.MinMaxValue.hashCode() != null ? this.MinMaxValue.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Coord == null ? null : this.Coord.hashCode() != null ? this.Coord.hashCode() : 0); + return hashCode; + } + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java index dc5ba36..79cf7bd 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedArrayUnitTests.java @@ -1,663 +1,663 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.RowCursors; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; - -// ReSharper disable StringLiteralTypo -// ReSharper disable IdentifierTypo - - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TypedArrayUnitTests.SchemaFile, "TestData")] public sealed class -// TypedArrayUnitTests -public final class TypedArrayUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\TagSchema.json"; - private Namespace counterSchema; - private Layout layout; - private LayoutResolver resolver; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTags() - public void CreateTags() { - RowBuffer row = new RowBuffer(TypedArrayUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - Tagged t1 = new Tagged(); - t1.Title = "Thriller"; - t1.Tags = new ArrayList(Arrays.asList("classic", "Post-disco", "funk")); - t1.Options = new ArrayList(Arrays.asList(8, null, 9)); - t1.Ratings = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2, 3.0)), - new ArrayList(Arrays.asList(4.1, 5.7)), new ArrayList(Arrays.asList(7.3, 8.12, 9.14)))); - SimilarMatch tempVar = new SimilarMatch(); - tempVar.Thumbprint = "TRABACN128F425B784"; - tempVar.Score = 0.87173699999999998; - SimilarMatch tempVar2 = new SimilarMatch(); - tempVar2.Thumbprint = "TRJYGLF12903CB4952"; - tempVar2.Score = 0.75105200000000005; - SimilarMatch tempVar3 = new SimilarMatch(); - tempVar3.Thumbprint = "TRWJMMB128F429D550"; - tempVar3.Score = 0.50866100000000003; - t1.Similars = new ArrayList(Arrays.asList(tempVar, tempVar2, tempVar3)); - t1.Priority = new ArrayList>(Arrays.asList(Tuple.Create("80's", 100L), Tuple.Create( - "classics", 100L), Tuple.Create("pop", 50L))); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteTagged(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Tagged t2 = this.ReadTagged(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert t1 == t2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(TypedArrayUnitTests.SchemaFile); - this.counterSchema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.counterSchema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), - x -> x.Name.equals("Tagged")).SchemaId); - } - - private static SimilarMatch ReadSimilarMatch(Reference row, - Reference matchScope) { - Layout matchLayout = matchScope.get().getLayout(); - SimilarMatch m = new SimilarMatch(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("thumbprint", out c); - Out tempOut_Thumbprint = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, matchScope, c, tempOut_Thumbprint)); - m.Thumbprint = tempOut_Thumbprint.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("score", out c); - Out tempOut_Score = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, matchScope, c, tempOut_Score)); - m.Score = tempOut_Score.get(); - return m; - } - - private Tagged ReadTagged(Reference row, Reference root) { - Tagged value = new Tagged(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("title", out c); - Out tempOut_Title = new Out(); - ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Title)); - value.Title = tempOut_Title.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("tags", out c); - RowCursor tagsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tagsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref tagsScope, out tagsScope) == Result.SUCCESS) { - value.Tags = new ArrayList(); - while (tagsScope.MoveNext(row)) { - String item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tagsScope, - out item)); - value.Tags.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("options", out c); - RowCursor optionsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out optionsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref optionsScope, out optionsScope) == Result.SUCCESS) { - value.Options = new ArrayList(); - while (optionsScope.MoveNext(row)) { - TypeArgument itemType = c.TypeArgs[0]; - Reference tempReference_optionsScope = - new Reference(optionsScope); - RowCursor nullableScope; - Out tempOut_nullableScope = - new Out(); - ResultAssert.IsSuccess(itemType.getType().TypeAs().ReadScope(row, - tempReference_optionsScope, tempOut_nullableScope)); - nullableScope = tempOut_nullableScope.get(); - optionsScope = tempReference_optionsScope.get(); - - if (nullableScope.MoveNext(row)) { - Reference tempReference_nullableScope = new Reference(nullableScope); - ResultAssert.IsSuccess(LayoutNullable.HasValue(row, tempReference_nullableScope)); - nullableScope = tempReference_nullableScope.get(); - - Reference tempReference_nullableScope2 = new Reference(nullableScope); - int itemValue; - Out tempOut_itemValue = new Out(); - ResultAssert.IsSuccess(itemType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, tempReference_nullableScope2, tempOut_itemValue)); - itemValue = tempOut_itemValue.get(); - nullableScope = tempReference_nullableScope2.get(); - - value.Options.add(itemValue); - } else { - Reference tempReference_nullableScope3 = new Reference(nullableScope); - ResultAssert.NotFound(LayoutNullable.HasValue(row, tempReference_nullableScope3)); - nullableScope = tempReference_nullableScope3.get(); - - value.Options.add(null); - } - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("ratings", out c); - RowCursor ratingsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out ratingsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref ratingsScope, out ratingsScope) == Result.SUCCESS) { - value.Ratings = new ArrayList>(); - TypeArgument innerType = c.TypeArgs[0]; - LayoutTypedArray innerLayout = innerType.getType().TypeAs(); - RowCursor innerScope = null; - Reference tempReference_innerScope = - new Reference(innerScope); - while (ratingsScope.MoveNext(row, tempReference_innerScope)) { - innerScope = tempReference_innerScope.get(); - ArrayList item = new ArrayList(); - Reference tempReference_ratingsScope = - new Reference(ratingsScope); - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_ratingsScope, tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - ratingsScope = tempReference_ratingsScope.get(); - while (RowCursors.moveNext(innerScope.clone() - , row)) { - LayoutFloat64 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); - Reference tempReference_innerScope2 - = new Reference(innerScope); - double innerItem; - Out tempOut_innerItem = new Out(); - ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_innerScope2, tempOut_innerItem)); - innerItem = tempOut_innerItem.get(); - innerScope = tempReference_innerScope2.get(); - item.add(innerItem); - } - - value.Ratings.add(item); - } - innerScope = tempReference_innerScope.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("similars", out c); - RowCursor similarsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out similarsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref similarsScope, out similarsScope) == Result.SUCCESS) { - value.Similars = new ArrayList(); - while (similarsScope.MoveNext(row)) { - TypeArgument innerType = c.TypeArgs[0]; - LayoutUDT innerLayout = innerType.getType().TypeAs(); - Reference tempReference_similarsScope = - new Reference(similarsScope); - RowCursor matchScope; - Out tempOut_matchScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_similarsScope, tempOut_matchScope)); - matchScope = tempOut_matchScope.get(); - similarsScope = tempReference_similarsScope.get(); - Reference tempReference_matchScope = - new Reference(matchScope); - SimilarMatch item = TypedArrayUnitTests.ReadSimilarMatch(row, tempReference_matchScope); - matchScope = tempReference_matchScope.get(); - value.Similars.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("priority", out c); - RowCursor priorityScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out priorityScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.TypeAs().ReadScope(row, ref priorityScope, out priorityScope) == Result.SUCCESS) { - value.Priority = new ArrayList>(); - RowCursor tupleScope = null; - Reference tempReference_tupleScope = - new Reference(tupleScope); - while (priorityScope.MoveNext(row, tempReference_tupleScope)) { - tupleScope = tempReference_tupleScope.get(); - TypeArgument innerType = c.TypeArgs[0]; - LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); - - Reference tempReference_priorityScope = - new Reference(priorityScope); - Out tempOut_tupleScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_priorityScope, tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - priorityScope = tempReference_priorityScope.get(); - assert RowCursors.moveNext(tupleScope.clone() - , row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - String item1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, - tempReference_tupleScope2, out item1)); - tupleScope = tempReference_tupleScope2.get(); - - assert RowCursors.moveNext(tupleScope.clone() - , row); - Reference tempReference_tupleScope3 = - new Reference(tupleScope); - long item2; - Out tempOut_item2 = new Out(); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, - tempReference_tupleScope3, tempOut_item2)); - item2 = tempOut_item2.get(); - tupleScope = tempReference_tupleScope3.get(); - - value.Priority.add(Tuple.Create(item1, item2)); - } - tupleScope = tempReference_tupleScope.get(); - } - - return value; - } - - private static void WriteSimilarMatch(Reference row, Reference matchScope - , TypeArgumentList typeArgs, SimilarMatch m) { - Layout matchLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("thumbprint", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, matchScope, c, m.Thumbprint)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("score", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, matchScope, c, m.Score)); - } - - private void WriteTagged(Reference row, Reference root, Tagged value) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("title", out c); - ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, value.Title)); - - if (value.Tags != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("tags", out c); - RowCursor tagsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out tagsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tagsScope, c.TypeArgs, - out tagsScope)); - for (String item : value.Tags) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tagsScope, item)); - assert !tagsScope.MoveNext(row); - } - } - - if (value.Options != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("options", out c); - RowCursor optionsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out optionsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref optionsScope, c.TypeArgs, - out optionsScope)); - for (Integer item : value.Options) { - TypeArgument itemType = c.TypeArgs[0]; - RowCursor nullableScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteScope(row, ref optionsScope, - itemType.getTypeArgs().clone(), item != null, out nullableScope)); - - if (item != null) { - Reference tempReference_nullableScope = new Reference(nullableScope); - ResultAssert.IsSuccess(itemType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, tempReference_nullableScope, item.intValue())); - nullableScope = tempReference_nullableScope.get(); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !optionsScope.MoveNext(row, ref nullableScope); - } - } - - if (value.Ratings != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("ratings", out c); - RowCursor ratingsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out ratingsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref ratingsScope, c.TypeArgs, - out ratingsScope)); - for (ArrayList item : value.Ratings) { - assert item != null; - TypeArgument innerType = c.TypeArgs[0]; - LayoutTypedArray innerLayout = innerType.getType().TypeAs(); - Reference tempReference_ratingsScope = - new Reference(ratingsScope); - RowCursor innerScope; - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_ratingsScope, - innerType.getTypeArgs().clone(), tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - ratingsScope = tempReference_ratingsScope.get(); - for (double innerItem : item) { - LayoutFloat64 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); - Reference tempReference_innerScope = - new Reference(innerScope); - ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_innerScope, innerItem)); - innerScope = tempReference_innerScope.get(); - assert !innerScope.MoveNext(row); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !ratingsScope.MoveNext(row, ref innerScope); - } - } - - if (value.Similars != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("similars", out c); - RowCursor similarsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out similarsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref similarsScope, c.TypeArgs, - out similarsScope)); - for (SimilarMatch item : value.Similars) { - TypeArgument innerType = c.TypeArgs[0]; - LayoutUDT innerLayout = innerType.getType().TypeAs(); - Reference tempReference_similarsScope = - new Reference(similarsScope); - RowCursor matchScope; - Out tempOut_matchScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_similarsScope, - innerType.getTypeArgs().clone(), tempOut_matchScope)); - matchScope = tempOut_matchScope.get(); - similarsScope = tempReference_similarsScope.get(); - Reference tempReference_matchScope = - new Reference(matchScope); - TypedArrayUnitTests.WriteSimilarMatch(row, tempReference_matchScope, innerType.getTypeArgs().clone(), item); - matchScope = tempReference_matchScope.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !similarsScope.MoveNext(row, ref matchScope); - } - } - - if (value.Priority != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("priority", out c); - RowCursor priorityScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out priorityScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref priorityScope, c.TypeArgs, - out priorityScope)); - for (Tuple item : value.Priority) { - TypeArgument innerType = c.TypeArgs[0]; - LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref priorityScope, innerType.getTypeArgs().clone() - , out tupleScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, - ref tupleScope, item.Item1)); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row - , tempReference_tupleScope, item.Item2)); - tupleScope = tempReference_tupleScope.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - assert !priorityScope.MoveNext(row, ref tupleScope); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class SimilarMatch - private final static class SimilarMatch { - public double Score; - public String Thumbprint; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof SimilarMatch; - SimilarMatch match = tempVar ? (SimilarMatch)obj : null; - return tempVar && this.equals(match); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return (this.Thumbprint.hashCode() * 397) ^ (new Double(this.Score)).hashCode(); - } - } - - private boolean equals(SimilarMatch other) { - // ReSharper disable once CompareOfFloatsByEqualityOperator - return this.Thumbprint.equals(other.Thumbprint) && this.Score == other.Score; - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test - // types.")] private sealed class Tagged - private final static class Tagged { - public ArrayList Options; - public ArrayList> Priority; - public ArrayList> Ratings; - public ArrayList Similars; - public ArrayList Tags; - public String Title; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Tagged; - Tagged tagged = tempVar ? (Tagged)obj : null; - return tempVar && this.equals(tagged); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = this.Title == null ? null : this.Title.hashCode() != null ? this.Title.hashCode() : 0; - hashCode = (hashCode * 397) ^ (this.Tags == null ? null : this.Tags.hashCode() != null ? - this.Tags.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Options == null ? null : this.Options.hashCode() != null ? - this.Options.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Ratings == null ? null : this.Ratings.hashCode() != null ? this.Ratings.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Similars == null ? null : this.Similars.hashCode() != null ? this.Similars.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Priority == null ? null : this.Priority.hashCode() != null ? this.Priority.hashCode() : 0); - return hashCode; - } - } - - private static boolean NestedSequenceEquals(ArrayList> left, ArrayList> right) { - if (left.size() != right.size()) { - return false; - } - - for (int i = 0; i < left.size(); i++) { - //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': - //ORIGINAL LINE: if (!left[i].SequenceEqual(right[i])) - if (!left.get(i).equals(right.get(i))) { - return false; - } - } - - return true; - } - - private boolean equals(Tagged other) { - //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': - //ORIGINAL LINE: return string.Equals(this.Title, other.Title) && (object.ReferenceEquals(this.Tags, other.Tags) || ((this.Tags != null) && (other.Tags != null) && this.Tags.SequenceEqual(other.Tags))) && (object.ReferenceEquals(this.Options, other.Options) || ((this.Options != null) && (other.Options != null) && this.Options.SequenceEqual(other.Options))) && (object.ReferenceEquals(this.Ratings, other.Ratings) || ((this.Ratings != null) && (other.Ratings != null) && Tagged.NestedSequenceEquals(this.Ratings, other.Ratings))) && (object.ReferenceEquals(this.Similars, other.Similars) || ((this.Similars != null) && (other.Similars != null) && this.Similars.SequenceEqual(other.Similars))) && (object.ReferenceEquals(this.Priority, other.Priority) || ((this.Priority != null) && (other.Priority != null) && this.Priority.SequenceEqual(other.Priority))); - return this.Title.equals(other.Title) && (this.Tags == other.Tags || ((this.Tags != null) && (other.Tags != null) && this.Tags.equals(other.Tags))) && (this.Options == other.Options || ((this.Options != null) && (other.Options != null) && this.Options.equals(other.Options))) && (this.Ratings == other.Ratings || ((this.Ratings != null) && (other.Ratings != null) && Tagged.NestedSequenceEquals(this.Ratings, other.Ratings))) && (this.Similars == other.Similars || ((this.Similars != null) && (other.Similars != null) && this.Similars.equals(other.Similars))) && (this.Priority == other.Priority || ((this.Priority != null) && (other.Priority != null) && this.Priority.equals(other.Priority))); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.RowCursors; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; + +// ReSharper disable StringLiteralTypo +// ReSharper disable IdentifierTypo + + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TypedArrayUnitTests.SchemaFile, "TestData")] public sealed class +// TypedArrayUnitTests +public final class TypedArrayUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\TagSchema.json"; + private Namespace counterSchema; + private Layout layout; + private LayoutResolver resolver; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTags() + public void CreateTags() { + RowBuffer row = new RowBuffer(TypedArrayUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + Tagged t1 = new Tagged(); + t1.Title = "Thriller"; + t1.Tags = new ArrayList(Arrays.asList("classic", "Post-disco", "funk")); + t1.Options = new ArrayList(Arrays.asList(8, null, 9)); + t1.Ratings = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2, 3.0)), + new ArrayList(Arrays.asList(4.1, 5.7)), new ArrayList(Arrays.asList(7.3, 8.12, 9.14)))); + SimilarMatch tempVar = new SimilarMatch(); + tempVar.Thumbprint = "TRABACN128F425B784"; + tempVar.Score = 0.87173699999999998; + SimilarMatch tempVar2 = new SimilarMatch(); + tempVar2.Thumbprint = "TRJYGLF12903CB4952"; + tempVar2.Score = 0.75105200000000005; + SimilarMatch tempVar3 = new SimilarMatch(); + tempVar3.Thumbprint = "TRWJMMB128F429D550"; + tempVar3.Score = 0.50866100000000003; + t1.Similars = new ArrayList(Arrays.asList(tempVar, tempVar2, tempVar3)); + t1.Priority = new ArrayList>(Arrays.asList(Tuple.Create("80's", 100L), Tuple.Create( + "classics", 100L), Tuple.Create("pop", 50L))); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteTagged(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Tagged t2 = this.ReadTagged(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert t1 == t2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(TypedArrayUnitTests.SchemaFile); + this.counterSchema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.counterSchema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), + x -> x.Name.equals("Tagged")).SchemaId); + } + + private static SimilarMatch ReadSimilarMatch(Reference row, + Reference matchScope) { + Layout matchLayout = matchScope.get().getLayout(); + SimilarMatch m = new SimilarMatch(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("thumbprint", out c); + Out tempOut_Thumbprint = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, matchScope, c, tempOut_Thumbprint)); + m.Thumbprint = tempOut_Thumbprint.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("score", out c); + Out tempOut_Score = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadFixed(row, matchScope, c, tempOut_Score)); + m.Score = tempOut_Score.get(); + return m; + } + + private Tagged ReadTagged(Reference row, Reference root) { + Tagged value = new Tagged(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("title", out c); + Out tempOut_Title = new Out(); + ResultAssert.IsSuccess(c.TypeAs().ReadVariable(row, root, c, tempOut_Title)); + value.Title = tempOut_Title.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("tags", out c); + RowCursor tagsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tagsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref tagsScope, out tagsScope) == Result.SUCCESS) { + value.Tags = new ArrayList(); + while (tagsScope.MoveNext(row)) { + String item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tagsScope, + out item)); + value.Tags.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("options", out c); + RowCursor optionsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out optionsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref optionsScope, out optionsScope) == Result.SUCCESS) { + value.Options = new ArrayList(); + while (optionsScope.MoveNext(row)) { + TypeArgument itemType = c.TypeArgs[0]; + Reference tempReference_optionsScope = + new Reference(optionsScope); + RowCursor nullableScope; + Out tempOut_nullableScope = + new Out(); + ResultAssert.IsSuccess(itemType.getType().TypeAs().ReadScope(row, + tempReference_optionsScope, tempOut_nullableScope)); + nullableScope = tempOut_nullableScope.get(); + optionsScope = tempReference_optionsScope.get(); + + if (nullableScope.MoveNext(row)) { + Reference tempReference_nullableScope = new Reference(nullableScope); + ResultAssert.IsSuccess(LayoutNullable.HasValue(row, tempReference_nullableScope)); + nullableScope = tempReference_nullableScope.get(); + + Reference tempReference_nullableScope2 = new Reference(nullableScope); + int itemValue; + Out tempOut_itemValue = new Out(); + ResultAssert.IsSuccess(itemType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, tempReference_nullableScope2, tempOut_itemValue)); + itemValue = tempOut_itemValue.get(); + nullableScope = tempReference_nullableScope2.get(); + + value.Options.add(itemValue); + } else { + Reference tempReference_nullableScope3 = new Reference(nullableScope); + ResultAssert.NotFound(LayoutNullable.HasValue(row, tempReference_nullableScope3)); + nullableScope = tempReference_nullableScope3.get(); + + value.Options.add(null); + } + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("ratings", out c); + RowCursor ratingsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out ratingsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref ratingsScope, out ratingsScope) == Result.SUCCESS) { + value.Ratings = new ArrayList>(); + TypeArgument innerType = c.TypeArgs[0]; + LayoutTypedArray innerLayout = innerType.getType().TypeAs(); + RowCursor innerScope = null; + Reference tempReference_innerScope = + new Reference(innerScope); + while (ratingsScope.MoveNext(row, tempReference_innerScope)) { + innerScope = tempReference_innerScope.get(); + ArrayList item = new ArrayList(); + Reference tempReference_ratingsScope = + new Reference(ratingsScope); + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_ratingsScope, tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + ratingsScope = tempReference_ratingsScope.get(); + while (RowCursors.moveNext(innerScope.clone() + , row)) { + LayoutFloat64 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); + Reference tempReference_innerScope2 + = new Reference(innerScope); + double innerItem; + Out tempOut_innerItem = new Out(); + ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_innerScope2, tempOut_innerItem)); + innerItem = tempOut_innerItem.get(); + innerScope = tempReference_innerScope2.get(); + item.add(innerItem); + } + + value.Ratings.add(item); + } + innerScope = tempReference_innerScope.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("similars", out c); + RowCursor similarsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out similarsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref similarsScope, out similarsScope) == Result.SUCCESS) { + value.Similars = new ArrayList(); + while (similarsScope.MoveNext(row)) { + TypeArgument innerType = c.TypeArgs[0]; + LayoutUDT innerLayout = innerType.getType().TypeAs(); + Reference tempReference_similarsScope = + new Reference(similarsScope); + RowCursor matchScope; + Out tempOut_matchScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_similarsScope, tempOut_matchScope)); + matchScope = tempOut_matchScope.get(); + similarsScope = tempReference_similarsScope.get(); + Reference tempReference_matchScope = + new Reference(matchScope); + SimilarMatch item = TypedArrayUnitTests.ReadSimilarMatch(row, tempReference_matchScope); + matchScope = tempReference_matchScope.get(); + value.Similars.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("priority", out c); + RowCursor priorityScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out priorityScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.TypeAs().ReadScope(row, ref priorityScope, out priorityScope) == Result.SUCCESS) { + value.Priority = new ArrayList>(); + RowCursor tupleScope = null; + Reference tempReference_tupleScope = + new Reference(tupleScope); + while (priorityScope.MoveNext(row, tempReference_tupleScope)) { + tupleScope = tempReference_tupleScope.get(); + TypeArgument innerType = c.TypeArgs[0]; + LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); + + Reference tempReference_priorityScope = + new Reference(priorityScope); + Out tempOut_tupleScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_priorityScope, tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + priorityScope = tempReference_priorityScope.get(); + assert RowCursors.moveNext(tupleScope.clone() + , row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + String item1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, + tempReference_tupleScope2, out item1)); + tupleScope = tempReference_tupleScope2.get(); + + assert RowCursors.moveNext(tupleScope.clone() + , row); + Reference tempReference_tupleScope3 = + new Reference(tupleScope); + long item2; + Out tempOut_item2 = new Out(); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, + tempReference_tupleScope3, tempOut_item2)); + item2 = tempOut_item2.get(); + tupleScope = tempReference_tupleScope3.get(); + + value.Priority.add(Tuple.Create(item1, item2)); + } + tupleScope = tempReference_tupleScope.get(); + } + + return value; + } + + private static void WriteSimilarMatch(Reference row, Reference matchScope + , TypeArgumentList typeArgs, SimilarMatch m) { + Layout matchLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("thumbprint", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, matchScope, c, m.Thumbprint)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("score", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteFixed(row, matchScope, c, m.Score)); + } + + private void WriteTagged(Reference row, Reference root, Tagged value) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("title", out c); + ResultAssert.IsSuccess(c.TypeAs().WriteVariable(row, root, c, value.Title)); + + if (value.Tags != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("tags", out c); + RowCursor tagsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out tagsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref tagsScope, c.TypeArgs, + out tagsScope)); + for (String item : value.Tags) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(row, ref tagsScope, item)); + assert !tagsScope.MoveNext(row); + } + } + + if (value.Options != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("options", out c); + RowCursor optionsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out optionsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref optionsScope, c.TypeArgs, + out optionsScope)); + for (Integer item : value.Options) { + TypeArgument itemType = c.TypeArgs[0]; + RowCursor nullableScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteScope(row, ref optionsScope, + itemType.getTypeArgs().clone(), item != null, out nullableScope)); + + if (item != null) { + Reference tempReference_nullableScope = new Reference(nullableScope); + ResultAssert.IsSuccess(itemType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, tempReference_nullableScope, item.intValue())); + nullableScope = tempReference_nullableScope.get(); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !optionsScope.MoveNext(row, ref nullableScope); + } + } + + if (value.Ratings != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("ratings", out c); + RowCursor ratingsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out ratingsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref ratingsScope, c.TypeArgs, + out ratingsScope)); + for (ArrayList item : value.Ratings) { + assert item != null; + TypeArgument innerType = c.TypeArgs[0]; + LayoutTypedArray innerLayout = innerType.getType().TypeAs(); + Reference tempReference_ratingsScope = + new Reference(ratingsScope); + RowCursor innerScope; + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_ratingsScope, + innerType.getTypeArgs().clone(), tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + ratingsScope = tempReference_ratingsScope.get(); + for (double innerItem : item) { + LayoutFloat64 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); + Reference tempReference_innerScope = + new Reference(innerScope); + ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_innerScope, innerItem)); + innerScope = tempReference_innerScope.get(); + assert !innerScope.MoveNext(row); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !ratingsScope.MoveNext(row, ref innerScope); + } + } + + if (value.Similars != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("similars", out c); + RowCursor similarsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out similarsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref similarsScope, c.TypeArgs, + out similarsScope)); + for (SimilarMatch item : value.Similars) { + TypeArgument innerType = c.TypeArgs[0]; + LayoutUDT innerLayout = innerType.getType().TypeAs(); + Reference tempReference_similarsScope = + new Reference(similarsScope); + RowCursor matchScope; + Out tempOut_matchScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_similarsScope, + innerType.getTypeArgs().clone(), tempOut_matchScope)); + matchScope = tempOut_matchScope.get(); + similarsScope = tempReference_similarsScope.get(); + Reference tempReference_matchScope = + new Reference(matchScope); + TypedArrayUnitTests.WriteSimilarMatch(row, tempReference_matchScope, innerType.getTypeArgs().clone(), item); + matchScope = tempReference_matchScope.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !similarsScope.MoveNext(row, ref matchScope); + } + } + + if (value.Priority != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("priority", out c); + RowCursor priorityScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out priorityScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeAs().WriteScope(row, ref priorityScope, c.TypeArgs, + out priorityScope)); + for (Tuple item : value.Priority) { + TypeArgument innerType = c.TypeArgs[0]; + LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref priorityScope, innerType.getTypeArgs().clone() + , out tupleScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, + ref tupleScope, item.Item1)); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row + , tempReference_tupleScope, item.Item2)); + tupleScope = tempReference_tupleScope.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + assert !priorityScope.MoveNext(row, ref tupleScope); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class SimilarMatch + private final static class SimilarMatch { + public double Score; + public String Thumbprint; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof SimilarMatch; + SimilarMatch match = tempVar ? (SimilarMatch)obj : null; + return tempVar && this.equals(match); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return (this.Thumbprint.hashCode() * 397) ^ (new Double(this.Score)).hashCode(); + } + } + + private boolean equals(SimilarMatch other) { + // ReSharper disable once CompareOfFloatsByEqualityOperator + return this.Thumbprint.equals(other.Thumbprint) && this.Score == other.Score; + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test + // types.")] private sealed class Tagged + private final static class Tagged { + public ArrayList Options; + public ArrayList> Priority; + public ArrayList> Ratings; + public ArrayList Similars; + public ArrayList Tags; + public String Title; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Tagged; + Tagged tagged = tempVar ? (Tagged)obj : null; + return tempVar && this.equals(tagged); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = this.Title == null ? null : this.Title.hashCode() != null ? this.Title.hashCode() : 0; + hashCode = (hashCode * 397) ^ (this.Tags == null ? null : this.Tags.hashCode() != null ? + this.Tags.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Options == null ? null : this.Options.hashCode() != null ? + this.Options.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Ratings == null ? null : this.Ratings.hashCode() != null ? this.Ratings.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Similars == null ? null : this.Similars.hashCode() != null ? this.Similars.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Priority == null ? null : this.Priority.hashCode() != null ? this.Priority.hashCode() : 0); + return hashCode; + } + } + + private static boolean NestedSequenceEquals(ArrayList> left, ArrayList> right) { + if (left.size() != right.size()) { + return false; + } + + for (int i = 0; i < left.size(); i++) { + //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': + //ORIGINAL LINE: if (!left[i].SequenceEqual(right[i])) + if (!left.get(i).equals(right.get(i))) { + return false; + } + } + + return true; + } + + private boolean equals(Tagged other) { + //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': + //ORIGINAL LINE: return string.Equals(this.Title, other.Title) && (object.ReferenceEquals(this.Tags, other.Tags) || ((this.Tags != null) && (other.Tags != null) && this.Tags.SequenceEqual(other.Tags))) && (object.ReferenceEquals(this.Options, other.Options) || ((this.Options != null) && (other.Options != null) && this.Options.SequenceEqual(other.Options))) && (object.ReferenceEquals(this.Ratings, other.Ratings) || ((this.Ratings != null) && (other.Ratings != null) && Tagged.NestedSequenceEquals(this.Ratings, other.Ratings))) && (object.ReferenceEquals(this.Similars, other.Similars) || ((this.Similars != null) && (other.Similars != null) && this.Similars.SequenceEqual(other.Similars))) && (object.ReferenceEquals(this.Priority, other.Priority) || ((this.Priority != null) && (other.Priority != null) && this.Priority.SequenceEqual(other.Priority))); + return this.Title.equals(other.Title) && (this.Tags == other.Tags || ((this.Tags != null) && (other.Tags != null) && this.Tags.equals(other.Tags))) && (this.Options == other.Options || ((this.Options != null) && (other.Options != null) && this.Options.equals(other.Options))) && (this.Ratings == other.Ratings || ((this.Ratings != null) && (other.Ratings != null) && Tagged.NestedSequenceEquals(this.Ratings, other.Ratings))) && (this.Similars == other.Similars || ((this.Similars != null) && (other.Similars != null) && this.Similars.equals(other.Similars))) && (this.Priority == other.Priority || ((this.Priority != null) && (other.Priority != null) && this.Priority.equals(other.Priority))); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java index 1bd9c05..1dab8ce 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedMapUnitTests.java @@ -1,1575 +1,1575 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; - -import java.math.BigDecimal; -import java.nio.file.Files; -import java.time.LocalDateTime; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TypedMapUnitTests.SchemaFile, "TestData")] public sealed class -// TypedMapUnitTests -public final class TypedMapUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\MovieSchema.json"; - private Namespace counterSchema; - private Layout layout; - private LayoutResolver resolver; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateMovies() - public void CreateMovies() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - // ReSharper disable StringLiteralTypo - Movie t1 = new Movie(); - t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han"), - Map.entry("Carrie", "Leia"))); - t1.Stats = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5" + - "-0421EE36F168}"), 11000000.00), Map.entry(UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), - 1554475.00))); - t1.Related = new HashMap>(Map.ofEntries(Map.entry("Mark", new HashMap(Map.ofEntries(Map.entry(103359, "Joker"), Map.entry(131646, "Merlin")))), Map.entry("Harrison", - new HashMap(Map.ofEntries(Map.entry(0082971, "Indy"), Map.entry(83658, "Deckard")))))); - Earnings tempVar = new Earnings(); - tempVar.Domestic = new BigDecimal(307263857); - tempVar.Worldwide = new BigDecimal(100000); - Earnings tempVar2 = new Earnings(); - tempVar2.Domestic = new BigDecimal(15476285); - tempVar2.Worldwide = new BigDecimal(200000); - Earnings tempVar3 = new Earnings(); - tempVar3.Domestic = new BigDecimal(138257865); - tempVar3.Worldwide = new BigDecimal(300000); - t1.Revenue = new HashMap(Map.ofEntries(Map.entry(LocalDateTime.parse("05/25/1977"), - tempVar), Map.entry(LocalDateTime.parse("08/13/1982"), tempVar2), - Map.entry(LocalDateTime.parse("01/31/1997"), tempVar3))); - - // ReSharper restore StringLiteralTypo - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteMovie(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Movie t2 = this.ReadMovie(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert t1 == t2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindAndDelete() - public void FindAndDelete() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - - ArrayList expected = new ArrayList(Arrays.asList("Mark", "Harrison", "Carrie")); - - for (java.lang.Iterable permutation : expected.Permute()) { - Movie t1 = new Movie(); - t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han" - ), Map.entry("Carrie", "Leia"))); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - this.WriteMovie(tempReference_row2, root.Clone(out _), t1); - row = tempReference_row2.get(); - - // Attempt to find each item in turn and then delete it. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("cast", out c); - Reference tempReference_row3 = - new Reference(row); - RowCursor mapScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out mapScope).Find(tempReference_row3, c.Path); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref mapScope, out mapScope)); - row = tempReference_row4.get(); - for (String key : permutation) { - KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on" + - " key"); - Reference tempReference_row5 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, - pair)); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row7, ref mapScope, ref tempCursor, - out findScope)); - row = tempReference_row7.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - TypeArgument tupleType = c.typeAs().FieldType(ref mapScope); - Reference tempReference_row8 = - new Reference(row); - Reference tempReference_findScope = - new Reference(findScope); - ResultAssert.IsSuccess(tupleType.TypeAs().DeleteScope(tempReference_row8, - tempReference_findScope)); - findScope = tempReference_findScope.get(); - row = tempReference_row8.get(); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindInMap() - public void FindInMap() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - - Movie t1 = new Movie(); - t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han"), - Map.entry("Carrie", "Leia"))); - Reference tempReference_row2 = - new Reference(row); - RowCursor rc1 = RowCursor.create(tempReference_row2); - row = tempReference_row2.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_rc1 = - new Reference(rc1); - this.WriteMovie(tempReference_row3, tempReference_rc1, t1); - rc1 = tempReference_rc1.get(); - row = tempReference_row3.get(); - - // Attempt to find each item in turn. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("cast", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor mapScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out mapScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref mapScope, out mapScope)); - row = tempReference_row5.get(); - for (String key : t1.Cast.keySet()) { - KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on key"); - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row7, tempReference_tempCursor, c.TypeArgs, pair)); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref mapScope, ref tempCursor, - out findScope)); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_findScope = - new Reference(findScope); - KeyValuePair foundPair; - Out> tempOut_foundPair = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row9, tempReference_findScope, c.TypeArgs, - tempOut_foundPair)); - foundPair = tempOut_foundPair.get(); - findScope = tempReference_findScope.get(); - row = tempReference_row9.get(); - Assert.AreEqual(key, foundPair.Key, String.format("Failed to find t1.Cast[%1$s]", key)); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(TypedMapUnitTests.SchemaFile); - this.counterSchema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.counterSchema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), - x -> x.Name.equals("Movie")).SchemaId); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUniquenessViolations() - public void PreventUniquenessViolations() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - - Movie t1 = new Movie(); - t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"))); - t1.Stats = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5" + - "-0421EE36F168}"), 11000000.00))); - t1.Related = new HashMap>(Map.ofEntries(Map.entry("Mark", new HashMap(Map.ofEntries(Map.entry(103359, "Joker")))))); - Earnings tempVar = new Earnings(); - tempVar.Domestic = new BigDecimal(307263857); - tempVar.Worldwide = new BigDecimal(100000); - t1.Revenue = new HashMap(Map.ofEntries(Map.entry(LocalDateTime.parse("05/25/1977"), - tempVar))); - - Reference tempReference_row2 = - new Reference(row); - RowCursor rc1 = RowCursor.create(tempReference_row2); - row = tempReference_row2.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_rc1 = - new Reference(rc1); - this.WriteMovie(tempReference_row3, tempReference_rc1, t1); - rc1 = tempReference_rc1.get(); - row = tempReference_row3.get(); - - // Attempt to insert duplicate items in existing sets. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("cast", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor mapScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out mapScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref mapScope, out mapScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row7, tempReference_tempCursor, c.TypeArgs, - KeyValuePair.Create("Mark", "Luke"))); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row8, ref mapScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - KeyValuePair _; - Out> tempOut__ = new Out>(); - ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row10, tempReference_tempCursor2, c.TypeArgs, - tempOut__)); - _ = tempOut__.get(); - tempCursor = tempReference_tempCursor2.get(); - row = tempReference_row10.get(); - Reference tempReference_row11 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row11, Utf8String.Empty); - row = tempReference_row11.get(); - Reference tempReference_row12 = - new Reference(row); - Reference tempReference_tempCursor3 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row12, tempReference_tempCursor3, c.TypeArgs, - KeyValuePair.Create("Mark", "Joker"))); - tempCursor = tempReference_tempCursor3.get(); - row = tempReference_row12.get(); - Reference tempReference_row13 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row13, ref mapScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row14, Utf8String.Empty); - row = tempReference_row14.get(); - Reference tempReference_row15 = - new Reference(row); - Reference tempReference_tempCursor4 = - new Reference(tempCursor); - KeyValuePair _; - Out> tempOut__2 = - new Out>(); - ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row15, tempReference_tempCursor4, c.TypeArgs, - tempOut__2)); - _ = tempOut__2.get(); - tempCursor = tempReference_tempCursor4.get(); - row = tempReference_row15.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("stats", out c); - Reference tempReference_row16 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out mapScope).Find(tempReference_row16, c.Path); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row17, ref mapScope, out mapScope)); - row = tempReference_row17.get(); - KeyValuePair pair = KeyValuePair.Create(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168" + - "}"), 11000000.00); - Reference tempReference_row18 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); - row = tempReference_row18.get(); - Reference tempReference_row19 = - new Reference(row); - Reference tempReference_tempCursor5 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row19, tempReference_tempCursor5, c.TypeArgs, pair)); - tempCursor = tempReference_tempCursor5.get(); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row20, ref mapScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row20.get(); - Reference tempReference_row21 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row21, Utf8String.Empty); - row = tempReference_row21.get(); - Reference tempReference_row22 = - new Reference(row); - Reference tempReference_tempCursor6 = - new Reference(tempCursor); - Out> tempOut_pair = new Out>(); - ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row22, tempReference_tempCursor6, c.TypeArgs, - tempOut_pair)); - pair = tempOut_pair.get(); - tempCursor = tempReference_tempCursor6.get(); - row = tempReference_row22.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUpdatesInNonUpdatableScope() - public void PreventUpdatesInNonUpdatableScope() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - - // Write a map and then try to write directly into it. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("cast", out c); - Reference tempReference_row2 = - new Reference(row); - RowCursor mapScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out mapScope).Find(tempReference_row2, c.Path); - row = tempReference_row2.get(); - Reference tempReference_row3 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row3, ref mapScope, c.TypeArgs, - out mapScope)); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - Reference tempReference_mapScope = - new Reference(mapScope); - ResultAssert.InsufficientPermissions(TypedMapUnitTests.WriteKeyValue(tempReference_row4, tempReference_mapScope, - c.TypeArgs, KeyValuePair.Create("Mark", "Joker"))); - mapScope = tempReference_mapScope.get(); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row5, "cast.0"); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, - KeyValuePair.Create("Mark", "Joker"))); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row7, ref mapScope, ref tempCursor)); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row8, "cast.0"); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - KeyValuePair _; - Out> tempOut__ = new Out>(); - ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row9, tempReference_tempCursor2, c.TypeArgs, tempOut__)); - _ = tempOut__.get(); - tempCursor = tempReference_tempCursor2.get(); - row = tempReference_row9.get(); - - // Write a map of maps, successfully insert an empty map into it, and then try to write directly to the inner - // map. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("related", out c); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out mapScope).Find(tempReference_row10, c.Path); - row = tempReference_row10.get(); - Reference tempReference_row11 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row11, ref mapScope, c.TypeArgs, - out mapScope)); - row = tempReference_row11.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - LayoutIndexedScope tupleLayout = - c.typeAs().FieldType(ref mapScope).TypeAs(); - Reference tempReference_row12 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row12, "related.0"); - row = tempReference_row12.get(); - Reference tempReference_row13 = - new Reference(row); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(tupleLayout.WriteScope(tempReference_row13, ref tempCursor, c.TypeArgs, out tupleScope)); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row14, ref tupleScope, - "Mark")); - row = tempReference_row14.get(); - Reference tempReference_row15 = - new Reference(row); - assert tupleScope.MoveNext(tempReference_row15); - row = tempReference_row15.get(); - TypeArgument valueType = c.TypeArgs[1]; - LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); - Reference tempReference_row16 = - new Reference(row); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(valueLayout.WriteScope(tempReference_row16, ref tupleScope, valueType.getTypeArgs().clone(), - out innerScope)); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row17, ref mapScope, ref tempCursor)); - row = tempReference_row17.get(); - Reference tempReference_row18 = - new Reference(row); - assert mapScope.MoveNext(tempReference_row18); - row = tempReference_row18.get(); - Reference tempReference_row19 = - new Reference(row); - Reference tempReference_mapScope2 = - new Reference(mapScope); - Out tempOut_tupleScope = - new Out(); - ResultAssert.IsSuccess(tupleLayout.ReadScope(tempReference_row19, tempReference_mapScope2, tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - mapScope = tempReference_mapScope2.get(); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - assert tupleScope.MoveNext(tempReference_row20); - row = tempReference_row20.get(); - - // Skip key. - Reference tempReference_row21 = - new Reference(row); - assert tupleScope.MoveNext(tempReference_row21); - row = tempReference_row21.get(); - Reference tempReference_row22 = - new Reference(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(valueLayout.ReadScope(tempReference_row22, tempReference_tupleScope, tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - tupleScope = tempReference_tupleScope.get(); - row = tempReference_row22.get(); - TypeArgument itemType = valueType.getTypeArgs().get(0).clone(); - Reference tempReference_row23 = - new Reference(row); - assert !innerScope.MoveNext(tempReference_row23); - row = tempReference_row23.get(); - Reference tempReference_row24 = - new Reference(row); - Reference tempReference_innerScope = - new Reference(innerScope); - ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().WriteSparse(tempReference_row24, - tempReference_innerScope, 1)); - innerScope = tempReference_innerScope.get(); - row = tempReference_row24.get(); - Reference tempReference_row25 = - new Reference(row); - Reference tempReference_innerScope2 = - new Reference(innerScope); - ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().DeleteSparse(tempReference_row25, - tempReference_innerScope2)); - innerScope = tempReference_innerScope2.get(); - row = tempReference_row25.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateInMap() - public void UpdateInMap() { - RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row); - row = tempReference_row.get(); - - ArrayList expected = new ArrayList(Arrays.asList("Mark", "Harrison", "Carrie")); - - for (java.lang.Iterable permutation : expected.Permute()) { - Movie t1 = new Movie(); - t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han" - ), Map.entry("Carrie", "Leia"))); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - this.WriteMovie(tempReference_row2, root.Clone(out _), t1); - row = tempReference_row2.get(); - - // Attempt to find each item in turn and then delete it. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("cast", out c); - Reference tempReference_row3 = - new Reference(row); - RowCursor mapScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out mapScope).Find(tempReference_row3, c.Path); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref mapScope, out mapScope)); - row = tempReference_row4.get(); - for (String key : permutation) { - // Verify it is already there. - KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on" + - " key"); - Reference tempReference_row5 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, - pair)); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row7, ref mapScope, ref tempCursor, - out findScope)); - row = tempReference_row7.get(); - - // Insert it again with update. - KeyValuePair updatePair = new KeyValuePair(key, "update value"); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row8, Utf8String.Empty); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row9, tempReference_tempCursor2, c.TypeArgs, - updatePair)); - tempCursor = tempReference_tempCursor2.get(); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row10, ref mapScope, - ref tempCursor, UpdateOptions.Update)); - row = tempReference_row10.get(); - - // Verify that the value was updated. - Reference tempReference_row11 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row11, Utf8String.Empty); - row = tempReference_row11.get(); - Reference tempReference_row12 = - new Reference(row); - Reference tempReference_tempCursor3 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row12, tempReference_tempCursor3, c.TypeArgs - , pair)); - tempCursor = tempReference_tempCursor3.get(); - row = tempReference_row12.get(); - Reference tempReference_row13 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row13, ref mapScope, ref tempCursor - , out findScope)); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - Reference tempReference_findScope = - new Reference(findScope); - KeyValuePair foundPair; - Out> tempOut_foundPair = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row14, tempReference_findScope, c.TypeArgs, - tempOut_foundPair)); - foundPair = tempOut_foundPair.get(); - findScope = tempReference_findScope.get(); - row = tempReference_row14.get(); - assert key == foundPair.Key; - assert updatePair.Value == foundPair.Value; - - // Insert it again with upsert. - updatePair = new KeyValuePair(key, "upsert value"); - Reference tempReference_row15 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row15, Utf8String.Empty); - row = tempReference_row15.get(); - Reference tempReference_row16 = - new Reference(row); - Reference tempReference_tempCursor4 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row16, tempReference_tempCursor4, c.TypeArgs - , updatePair)); - tempCursor = tempReference_tempCursor4.get(); - row = tempReference_row16.get(); - - // ReSharper disable once RedundantArgumentDefaultValue - Reference tempReference_row17 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row17, ref mapScope, - ref tempCursor, UpdateOptions.Upsert)); - row = tempReference_row17.get(); - - // Verify that the value was upserted. - Reference tempReference_row18 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); - row = tempReference_row18.get(); - Reference tempReference_row19 = - new Reference(row); - Reference tempReference_tempCursor5 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row19, tempReference_tempCursor5, c.TypeArgs - , pair)); - tempCursor = tempReference_tempCursor5.get(); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row20, ref mapScope, ref tempCursor - , out findScope)); - row = tempReference_row20.get(); - Reference tempReference_row21 = - new Reference(row); - Reference tempReference_findScope2 = - new Reference(findScope); - Out> tempOut_foundPair2 = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row21, tempReference_findScope2, c.TypeArgs, - tempOut_foundPair2)); - foundPair = tempOut_foundPair2.get(); - findScope = tempReference_findScope2.get(); - row = tempReference_row21.get(); - assert key == foundPair.Key; - assert updatePair.Value == foundPair.Value; - - // Insert it again with insert (fail: exists). - updatePair = new KeyValuePair(key, "insert value"); - Reference tempReference_row22 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row22, Utf8String.Empty); - row = tempReference_row22.get(); - Reference tempReference_row23 = - new Reference(row); - Reference tempReference_tempCursor6 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row23, tempReference_tempCursor6, c.TypeArgs - , updatePair)); - tempCursor = tempReference_tempCursor6.get(); - row = tempReference_row23.get(); - Reference tempReference_row24 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row24, ref mapScope, - ref tempCursor, UpdateOptions.Insert)); - row = tempReference_row24.get(); - - // Insert it again with insert at (fail: disallowed). - updatePair = new KeyValuePair(key, "insertAt value"); - Reference tempReference_row25 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row25, Utf8String.Empty); - row = tempReference_row25.get(); - Reference tempReference_row26 = - new Reference(row); - Reference tempReference_tempCursor7 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row26, tempReference_tempCursor7, c.TypeArgs - , updatePair)); - tempCursor = tempReference_tempCursor7.get(); - row = tempReference_row26.get(); - Reference tempReference_row27 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.TypeConstraint(c.typeAs().MoveField(tempReference_row27, ref mapScope, - ref tempCursor, UpdateOptions.InsertAt)); - row = tempReference_row27.get(); - } - } - } - - private static Earnings ReadEarnings(Reference row, Reference udtScope) { - Layout udt = udtScope.get().getLayout(); - Earnings m = new Earnings(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert udt.TryFind("domestic", out c); - Out tempOut_Domestic = new Out(); - ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, udtScope, c, tempOut_Domestic)); - m.Domestic = tempOut_Domestic.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert udt.TryFind("worldwide", out c); - Out tempOut_Worldwide = new Out(); - ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, udtScope, c, tempOut_Worldwide)); - m.Worldwide = tempOut_Worldwide.get(); - return m; - } - - private static Result ReadKeyValue(Reference row, - Reference scope, TypeArgumentList typeArgs, - Out> pair) { - pair.setAndGet(null); - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - RowCursor tupleScope; - Out tempOut_tupleScope = - new Out(); - Result r = tupleLayout.ReadScope(row, scope, tempOut_tupleScope); - tupleScope = tempOut_tupleScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - tupleScope.MoveNext(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - TKey key; - Out tempOut_key = new Out(); - r = typeArgs.get(0).getType().>TypeAs().ReadSparse(row, tempReference_tupleScope, tempOut_key); - key = tempOut_key.get(); - tupleScope = tempReference_tupleScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - tupleScope.MoveNext(row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - TValue value; - Out tempOut_value = new Out(); - r = typeArgs.get(1).getType().>TypeAs().ReadSparse(row, tempReference_tupleScope2, tempOut_value); - value = tempOut_value.get(); - tupleScope = tempReference_tupleScope2.get(); - if (r != Result.SUCCESS) { - return r; - } - - pair.setAndGet(new KeyValuePair(key, value)); - return Result.SUCCESS; - } - - private Movie ReadMovie(Reference row, Reference root) { - Movie value = new Movie(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("cast", out c); - RowCursor castScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out castScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref castScope, out castScope) == Result.SUCCESS) { - value.Cast = new HashMap(); - while (castScope.MoveNext(row)) { - Reference tempReference_castScope = - new Reference(castScope); - KeyValuePair item; - Out> tempOut_item = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_castScope, c.TypeArgs, - tempOut_item)); - item = tempOut_item.get(); - castScope = tempReference_castScope.get(); - value.Cast.put(item.Key, item.Value); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("stats", out c); - RowCursor statsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out statsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref statsScope, out statsScope) == Result.SUCCESS) { - value.Stats = new HashMap(); - while (statsScope.MoveNext(row)) { - Reference tempReference_statsScope = - new Reference(statsScope); - KeyValuePair item; - Out> tempOut_item2 = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_statsScope, c.TypeArgs, - tempOut_item2)); - item = tempOut_item2.get(); - statsScope = tempReference_statsScope.get(); - value.Stats.put(item.Key, item.Value); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("related", out c); - RowCursor relatedScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out relatedScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref relatedScope, out relatedScope) == Result.SUCCESS) { - value.Related = new HashMap>(); - TypeArgument keyType = c.TypeArgs[0]; - TypeArgument valueType = c.TypeArgs[1]; - LayoutUtf8 keyLayout = keyType.getType().TypeAs(); - LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); - while (relatedScope.MoveNext(row)) { - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - Reference tempReference_relatedScope = - new Reference(relatedScope); - RowCursor tupleScope; - Out tempOut_tupleScope = - new Out(); - ResultAssert.IsSuccess(tupleLayout.ReadScope(row, tempReference_relatedScope, tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - relatedScope = tempReference_relatedScope.get(); - assert tupleScope.MoveNext(row); - String itemKey; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(keyLayout.ReadSparse(row, ref tupleScope, out itemKey)); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - RowCursor itemValueScope; - Out tempOut_itemValueScope = - new Out(); - ResultAssert.IsSuccess(valueLayout.ReadScope(row, tempReference_tupleScope, tempOut_itemValueScope)); - itemValueScope = tempOut_itemValueScope.get(); - tupleScope = tempReference_tupleScope.get(); - HashMap itemValue = new HashMap(); - while (itemValueScope.MoveNext(row)) { - Reference tempReference_itemValueScope = new Reference(itemValueScope); - KeyValuePair innerItem; - Out> tempOut_innerItem = - new Out>(); - ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_itemValueScope, - valueType.getTypeArgs().clone(), tempOut_innerItem)); - innerItem = tempOut_innerItem.get(); - itemValueScope = tempReference_itemValueScope.get(); - itemValue.put(innerItem.Key, innerItem.Value); - } - - value.Related.put(itemKey, itemValue); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("revenue", out c); - RowCursor revenueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out revenueScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref revenueScope, out revenueScope) == Result.SUCCESS) { - value.Revenue = new HashMap(); - TypeArgument keyType = c.TypeArgs[0]; - TypeArgument valueType = c.TypeArgs[1]; - LayoutDateTime keyLayout = keyType.getType().TypeAs(); - LayoutUDT valueLayout = valueType.getType().TypeAs(); - while (revenueScope.MoveNext(row)) { - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - Reference tempReference_revenueScope = - new Reference(revenueScope); - RowCursor tupleScope; - Out tempOut_tupleScope2 = - new Out(); - ResultAssert.IsSuccess(tupleLayout.ReadScope(row, tempReference_revenueScope, tempOut_tupleScope2)); - tupleScope = tempOut_tupleScope2.get(); - revenueScope = tempReference_revenueScope.get(); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope2 = new Reference(tupleScope); - java.time.LocalDateTime itemKey; - Out tempOut_itemKey = new Out(); - ResultAssert.IsSuccess(keyLayout.ReadSparse(row, tempReference_tupleScope2, tempOut_itemKey)); - itemKey = tempOut_itemKey.get(); - tupleScope = tempReference_tupleScope2.get(); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope3 = new Reference(tupleScope); - RowCursor itemValueScope; - Out tempOut_itemValueScope2 = new Out(); - ResultAssert.IsSuccess(valueLayout.ReadScope(row, tempReference_tupleScope3, tempOut_itemValueScope2)); - itemValueScope = tempOut_itemValueScope2.get(); - tupleScope = tempReference_tupleScope3.get(); - Reference tempReference_itemValueScope2 = new Reference(itemValueScope); - Earnings itemValue = TypedMapUnitTests.ReadEarnings(row, tempReference_itemValueScope2); - itemValueScope = tempReference_itemValueScope2.get(); - - value.Revenue.put(itemKey, itemValue); - } - } - - return value; - } - - private static void WriteEarnings(Reference row, Reference udtScope, TypeArgumentList typeArgs, Earnings m) { - Layout udt = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert udt.TryFind("domestic", out c); - ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, udtScope, c, m.Domestic)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert udt.TryFind("worldwide", out c); - ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, udtScope, c, m.Worldwide)); - } - - private static Result WriteKeyValue(Reference row, - Reference scope, TypeArgumentList typeArgs, KeyValuePair pair) { - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Result r = tupleLayout.WriteScope(row, scope, typeArgs.clone(), out tupleScope); - if (r != Result.SUCCESS) { - return r; - } - - Reference tempReference_tupleScope = - new Reference(tupleScope); - r = typeArgs.get(0).getType().>TypeAs().WriteSparse(row, tempReference_tupleScope, pair.Key); - tupleScope = tempReference_tupleScope.get(); - if (r != Result.SUCCESS) { - return r; - } - - tupleScope.MoveNext(row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - r = typeArgs.get(1).getType().>TypeAs().WriteSparse(row, tempReference_tupleScope2, pair.Value); - tupleScope = tempReference_tupleScope2.get(); - return r; - } - - private void WriteMovie(Reference row, Reference root, Movie value) { - LayoutColumn c; - - if (value.Cast != null) { - Out tempOut_c = - new Out(); - assert this.layout.TryFind("cast", tempOut_c); - c = tempOut_c.get(); - RowCursor castScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out castScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref castScope, - c.typeArgs().clone(), out castScope)); - for (KeyValuePair item : value.Cast) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor, - c.typeArgs().clone(), item)); - tempCursor = tempReference_tempCursor.get(); - Reference tempReference_castScope = - new Reference(castScope); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_castScope, - tempReference_tempCursor2)); - tempCursor = tempReference_tempCursor2.get(); - castScope = tempReference_castScope.get(); - } - } - - if (value.Stats != null) { - Out tempOut_c2 = - new Out(); - assert this.layout.TryFind("stats", tempOut_c2); - c = tempOut_c2.get(); - RowCursor statsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out statsScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref statsScope, - c.typeArgs().clone(), out statsScope)); - for (KeyValuePair item : value.Stats) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - Reference tempReference_tempCursor3 = - new Reference(tempCursor); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor3, - c.typeArgs().clone(), item)); - tempCursor = tempReference_tempCursor3.get(); - Reference tempReference_statsScope = - new Reference(statsScope); - Reference tempReference_tempCursor4 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_statsScope, - tempReference_tempCursor4)); - tempCursor = tempReference_tempCursor4.get(); - statsScope = tempReference_statsScope.get(); - } - } - - if (value.Related != null) { - Out tempOut_c3 = - new Out(); - assert this.layout.TryFind("related", tempOut_c3); - c = tempOut_c3.get(); - RowCursor relatedScoped; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out relatedScoped).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref relatedScoped, - c.typeArgs().clone(), out relatedScoped)); - for (KeyValuePair> item : value.Related) { - assert item.Value != null; - - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor1).Find(row, "related.0"); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(tupleLayout.WriteScope(row, ref tempCursor1, c.typeArgs().clone(), - out tupleScope)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, - ref tupleScope, item.Key)); - assert tupleScope.MoveNext(row); - TypeArgument valueType = c.typeArgs().get(1).clone(); - LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(valueLayout.WriteScope(row, ref tupleScope, valueType.getTypeArgs().clone(), - out innerScope)); - for (KeyValuePair innerItem : item.Value) { - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - // - these cannot be converted using the 'Out' helper class unless the method is within the - // code being modified: - root.get().Clone(out tempCursor2).Find(row, "related.0.0"); - Reference tempReference_tempCursor2 - = new Reference(tempCursor2); - ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor2, - valueType.getTypeArgs().clone(), innerItem)); - tempCursor2 = tempReference_tempCursor2.get(); - Reference tempReference_innerScope = - new Reference(innerScope); - Reference tempReference_tempCursor22 = new Reference(tempCursor2); - ResultAssert.IsSuccess(valueLayout.MoveField(row, tempReference_innerScope, - tempReference_tempCursor22)); - tempCursor2 = tempReference_tempCursor22.get(); - innerScope = tempReference_innerScope.get(); - } - - Reference tempReference_relatedScoped = - new Reference(relatedScoped); - Reference tempReference_tempCursor1 = - new Reference(tempCursor1); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_relatedScoped, - tempReference_tempCursor1)); - tempCursor1 = tempReference_tempCursor1.get(); - relatedScoped = tempReference_relatedScoped.get(); - } - } - - if (value.Revenue != null) { - Out tempOut_c4 = - new Out(); - assert this.layout.TryFind("revenue", tempOut_c4); - c = tempOut_c4.get(); - RowCursor revenueScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out revenueScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref revenueScope, - c.typeArgs().clone(), out revenueScope)); - for (KeyValuePair item : value.Revenue) { - assert item.Value != null; - - LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor1).Find(row, "revenue.0"); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(tupleLayout.WriteScope(row, ref tempCursor1, c.typeArgs().clone(), - out tupleScope)); - Reference tempReference_tupleScope = - new Reference(tupleScope); - ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, - tempReference_tupleScope, item.Key)); - tupleScope = tempReference_tupleScope.get(); - assert tupleScope.MoveNext(row); - TypeArgument valueType = c.typeArgs().get(1).clone(); - LayoutUDT valueLayout = valueType.getType().TypeAs(); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - RowCursor itemScope; - Out tempOut_itemScope = - new Out(); - ResultAssert.IsSuccess(valueLayout.WriteScope(row, tempReference_tupleScope2, - valueType.getTypeArgs().clone(), tempOut_itemScope)); - itemScope = tempOut_itemScope.get(); - tupleScope = tempReference_tupleScope2.get(); - Reference tempReference_itemScope = - new Reference(itemScope); - TypedMapUnitTests.WriteEarnings(row, tempReference_itemScope, valueType.getTypeArgs().clone(), item.Value); - itemScope = tempReference_itemScope.get(); - - Reference tempReference_revenueScope = - new Reference(revenueScope); - Reference tempReference_tempCursor12 = - new Reference(tempCursor1); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_revenueScope, - tempReference_tempCursor12)); - tempCursor1 = tempReference_tempCursor12.get(); - revenueScope = tempReference_revenueScope.get(); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Earnings - private final static class Earnings { - public BigDecimal Domestic = new BigDecimal(0); - public BigDecimal Worldwide = new BigDecimal(0); - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Earnings; - Earnings earnings = tempVar ? (Earnings)obj : null; - return tempVar && this.equals(earnings); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return (this.Domestic.hashCode() * 397) ^ this.Worldwide.hashCode(); - } - } - - private boolean equals(Earnings other) { - return this.Domestic.compareTo(other.Domestic) == 0 && this.Worldwide.compareTo(other.Worldwide) == 0; - } - } - - private static class KeyValuePair { - public static KeyValuePair Create(TKey key, TValue value) { - return new KeyValuePair(key, value); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Movie - private final static class Movie { - public HashMap Cast; - public HashMap> Related; - public HashMap Revenue; - public HashMap Stats; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Movie; - Movie movie = tempVar ? (Movie)obj : null; - return tempVar && this.equals(movie); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = 0; - hashCode = (hashCode * 397) ^ (this.Cast == null ? null : this.Cast.hashCode() != null ? this.Cast.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Stats == null ? null : this.Stats.hashCode() != null ? this.Stats.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Related == null ? null : this.Related.hashCode() != null ? this.Related.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Revenue == null ? null : this.Revenue.hashCode() != null ? this.Revenue.hashCode() : 0); - return hashCode; - } - } - - private static boolean MapEquals(HashMap left, HashMap right) { - if (left.size() != right.size()) { - return false; - } - - for (KeyValuePair item : left) { - TValue value; - if (!(right.containsKey(item.Key) && (value = right.get(item.Key)) == value)) { - return false; - } - - if (!item.Value.equals(value)) { - return false; - } - } - - return true; - } - - private static boolean NestedMapEquals(HashMap> left, HashMap> right) { - if (left.size() != right.size()) { - return false; - } - - for (KeyValuePair> item : left) { - java.util.HashMap value; - if (!(right.containsKey(item.Key) && (value = right.get(item.Key)) == value)) { - return false; - } - - if (!Movie.MapEquals(item.Value, value)) { - return false; - } - } - - return true; - } - - private boolean equals(Movie other) { - return (this.Cast == other.Cast || ((this.Cast != null) && (other.Cast != null) && Movie.MapEquals(this.Cast, other.Cast))) && (this.Stats == other.Stats || ((this.Stats != null) && (other.Stats != null) && Movie.MapEquals(this.Stats, other.Stats))) && (this.Related == other.Related || ((this.Related != null) && (other.Related != null) && Movie.NestedMapEquals(this.Related, other.Related))) && (this.Revenue == other.Revenue || ((this.Revenue != null) && (other.Revenue != null) && Movie.MapEquals(this.Revenue, other.Revenue))); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; + +import java.math.BigDecimal; +import java.nio.file.Files; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TypedMapUnitTests.SchemaFile, "TestData")] public sealed class +// TypedMapUnitTests +public final class TypedMapUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\MovieSchema.json"; + private Namespace counterSchema; + private Layout layout; + private LayoutResolver resolver; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateMovies() + public void CreateMovies() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + // ReSharper disable StringLiteralTypo + Movie t1 = new Movie(); + t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han"), + Map.entry("Carrie", "Leia"))); + t1.Stats = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5" + + "-0421EE36F168}"), 11000000.00), Map.entry(UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), + 1554475.00))); + t1.Related = new HashMap>(Map.ofEntries(Map.entry("Mark", new HashMap(Map.ofEntries(Map.entry(103359, "Joker"), Map.entry(131646, "Merlin")))), Map.entry("Harrison", + new HashMap(Map.ofEntries(Map.entry(0082971, "Indy"), Map.entry(83658, "Deckard")))))); + Earnings tempVar = new Earnings(); + tempVar.Domestic = new BigDecimal(307263857); + tempVar.Worldwide = new BigDecimal(100000); + Earnings tempVar2 = new Earnings(); + tempVar2.Domestic = new BigDecimal(15476285); + tempVar2.Worldwide = new BigDecimal(200000); + Earnings tempVar3 = new Earnings(); + tempVar3.Domestic = new BigDecimal(138257865); + tempVar3.Worldwide = new BigDecimal(300000); + t1.Revenue = new HashMap(Map.ofEntries(Map.entry(LocalDateTime.parse("05/25/1977"), + tempVar), Map.entry(LocalDateTime.parse("08/13/1982"), tempVar2), + Map.entry(LocalDateTime.parse("01/31/1997"), tempVar3))); + + // ReSharper restore StringLiteralTypo + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteMovie(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Movie t2 = this.ReadMovie(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert t1 == t2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindAndDelete() + public void FindAndDelete() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + + ArrayList expected = new ArrayList(Arrays.asList("Mark", "Harrison", "Carrie")); + + for (java.lang.Iterable permutation : expected.Permute()) { + Movie t1 = new Movie(); + t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han" + ), Map.entry("Carrie", "Leia"))); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + this.WriteMovie(tempReference_row2, root.Clone(out _), t1); + row = tempReference_row2.get(); + + // Attempt to find each item in turn and then delete it. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("cast", out c); + Reference tempReference_row3 = + new Reference(row); + RowCursor mapScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out mapScope).Find(tempReference_row3, c.Path); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref mapScope, out mapScope)); + row = tempReference_row4.get(); + for (String key : permutation) { + KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on" + + " key"); + Reference tempReference_row5 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, + pair)); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row7, ref mapScope, ref tempCursor, + out findScope)); + row = tempReference_row7.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + TypeArgument tupleType = c.typeAs().FieldType(ref mapScope); + Reference tempReference_row8 = + new Reference(row); + Reference tempReference_findScope = + new Reference(findScope); + ResultAssert.IsSuccess(tupleType.TypeAs().DeleteScope(tempReference_row8, + tempReference_findScope)); + findScope = tempReference_findScope.get(); + row = tempReference_row8.get(); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindInMap() + public void FindInMap() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + + Movie t1 = new Movie(); + t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han"), + Map.entry("Carrie", "Leia"))); + Reference tempReference_row2 = + new Reference(row); + RowCursor rc1 = RowCursor.create(tempReference_row2); + row = tempReference_row2.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_rc1 = + new Reference(rc1); + this.WriteMovie(tempReference_row3, tempReference_rc1, t1); + rc1 = tempReference_rc1.get(); + row = tempReference_row3.get(); + + // Attempt to find each item in turn. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("cast", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor mapScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out mapScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref mapScope, out mapScope)); + row = tempReference_row5.get(); + for (String key : t1.Cast.keySet()) { + KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on key"); + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row7, tempReference_tempCursor, c.TypeArgs, pair)); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref mapScope, ref tempCursor, + out findScope)); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_findScope = + new Reference(findScope); + KeyValuePair foundPair; + Out> tempOut_foundPair = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row9, tempReference_findScope, c.TypeArgs, + tempOut_foundPair)); + foundPair = tempOut_foundPair.get(); + findScope = tempReference_findScope.get(); + row = tempReference_row9.get(); + Assert.AreEqual(key, foundPair.Key, String.format("Failed to find t1.Cast[%1$s]", key)); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(TypedMapUnitTests.SchemaFile); + this.counterSchema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.counterSchema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), + x -> x.Name.equals("Movie")).SchemaId); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUniquenessViolations() + public void PreventUniquenessViolations() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + + Movie t1 = new Movie(); + t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"))); + t1.Stats = new HashMap(Map.ofEntries(Map.entry(UUID.fromString("{4674962B-CE11-4916-81C5" + + "-0421EE36F168}"), 11000000.00))); + t1.Related = new HashMap>(Map.ofEntries(Map.entry("Mark", new HashMap(Map.ofEntries(Map.entry(103359, "Joker")))))); + Earnings tempVar = new Earnings(); + tempVar.Domestic = new BigDecimal(307263857); + tempVar.Worldwide = new BigDecimal(100000); + t1.Revenue = new HashMap(Map.ofEntries(Map.entry(LocalDateTime.parse("05/25/1977"), + tempVar))); + + Reference tempReference_row2 = + new Reference(row); + RowCursor rc1 = RowCursor.create(tempReference_row2); + row = tempReference_row2.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_rc1 = + new Reference(rc1); + this.WriteMovie(tempReference_row3, tempReference_rc1, t1); + rc1 = tempReference_rc1.get(); + row = tempReference_row3.get(); + + // Attempt to insert duplicate items in existing sets. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("cast", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor mapScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out mapScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref mapScope, out mapScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row7, tempReference_tempCursor, c.TypeArgs, + KeyValuePair.Create("Mark", "Luke"))); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row8, ref mapScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + KeyValuePair _; + Out> tempOut__ = new Out>(); + ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row10, tempReference_tempCursor2, c.TypeArgs, + tempOut__)); + _ = tempOut__.get(); + tempCursor = tempReference_tempCursor2.get(); + row = tempReference_row10.get(); + Reference tempReference_row11 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row11, Utf8String.Empty); + row = tempReference_row11.get(); + Reference tempReference_row12 = + new Reference(row); + Reference tempReference_tempCursor3 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row12, tempReference_tempCursor3, c.TypeArgs, + KeyValuePair.Create("Mark", "Joker"))); + tempCursor = tempReference_tempCursor3.get(); + row = tempReference_row12.get(); + Reference tempReference_row13 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row13, ref mapScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row14, Utf8String.Empty); + row = tempReference_row14.get(); + Reference tempReference_row15 = + new Reference(row); + Reference tempReference_tempCursor4 = + new Reference(tempCursor); + KeyValuePair _; + Out> tempOut__2 = + new Out>(); + ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row15, tempReference_tempCursor4, c.TypeArgs, + tempOut__2)); + _ = tempOut__2.get(); + tempCursor = tempReference_tempCursor4.get(); + row = tempReference_row15.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("stats", out c); + Reference tempReference_row16 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out mapScope).Find(tempReference_row16, c.Path); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row17, ref mapScope, out mapScope)); + row = tempReference_row17.get(); + KeyValuePair pair = KeyValuePair.Create(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168" + + "}"), 11000000.00); + Reference tempReference_row18 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); + row = tempReference_row18.get(); + Reference tempReference_row19 = + new Reference(row); + Reference tempReference_tempCursor5 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row19, tempReference_tempCursor5, c.TypeArgs, pair)); + tempCursor = tempReference_tempCursor5.get(); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row20, ref mapScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row20.get(); + Reference tempReference_row21 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row21, Utf8String.Empty); + row = tempReference_row21.get(); + Reference tempReference_row22 = + new Reference(row); + Reference tempReference_tempCursor6 = + new Reference(tempCursor); + Out> tempOut_pair = new Out>(); + ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row22, tempReference_tempCursor6, c.TypeArgs, + tempOut_pair)); + pair = tempOut_pair.get(); + tempCursor = tempReference_tempCursor6.get(); + row = tempReference_row22.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUpdatesInNonUpdatableScope() + public void PreventUpdatesInNonUpdatableScope() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + + // Write a map and then try to write directly into it. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("cast", out c); + Reference tempReference_row2 = + new Reference(row); + RowCursor mapScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out mapScope).Find(tempReference_row2, c.Path); + row = tempReference_row2.get(); + Reference tempReference_row3 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row3, ref mapScope, c.TypeArgs, + out mapScope)); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + Reference tempReference_mapScope = + new Reference(mapScope); + ResultAssert.InsufficientPermissions(TypedMapUnitTests.WriteKeyValue(tempReference_row4, tempReference_mapScope, + c.TypeArgs, KeyValuePair.Create("Mark", "Joker"))); + mapScope = tempReference_mapScope.get(); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row5, "cast.0"); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, + KeyValuePair.Create("Mark", "Joker"))); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row7, ref mapScope, ref tempCursor)); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row8, "cast.0"); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + KeyValuePair _; + Out> tempOut__ = new Out>(); + ResultAssert.NotFound(TypedMapUnitTests.ReadKeyValue(tempReference_row9, tempReference_tempCursor2, c.TypeArgs, tempOut__)); + _ = tempOut__.get(); + tempCursor = tempReference_tempCursor2.get(); + row = tempReference_row9.get(); + + // Write a map of maps, successfully insert an empty map into it, and then try to write directly to the inner + // map. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("related", out c); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out mapScope).Find(tempReference_row10, c.Path); + row = tempReference_row10.get(); + Reference tempReference_row11 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row11, ref mapScope, c.TypeArgs, + out mapScope)); + row = tempReference_row11.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + LayoutIndexedScope tupleLayout = + c.typeAs().FieldType(ref mapScope).TypeAs(); + Reference tempReference_row12 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row12, "related.0"); + row = tempReference_row12.get(); + Reference tempReference_row13 = + new Reference(row); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(tupleLayout.WriteScope(tempReference_row13, ref tempCursor, c.TypeArgs, out tupleScope)); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row14, ref tupleScope, + "Mark")); + row = tempReference_row14.get(); + Reference tempReference_row15 = + new Reference(row); + assert tupleScope.MoveNext(tempReference_row15); + row = tempReference_row15.get(); + TypeArgument valueType = c.TypeArgs[1]; + LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); + Reference tempReference_row16 = + new Reference(row); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(valueLayout.WriteScope(tempReference_row16, ref tupleScope, valueType.getTypeArgs().clone(), + out innerScope)); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row17, ref mapScope, ref tempCursor)); + row = tempReference_row17.get(); + Reference tempReference_row18 = + new Reference(row); + assert mapScope.MoveNext(tempReference_row18); + row = tempReference_row18.get(); + Reference tempReference_row19 = + new Reference(row); + Reference tempReference_mapScope2 = + new Reference(mapScope); + Out tempOut_tupleScope = + new Out(); + ResultAssert.IsSuccess(tupleLayout.ReadScope(tempReference_row19, tempReference_mapScope2, tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + mapScope = tempReference_mapScope2.get(); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + assert tupleScope.MoveNext(tempReference_row20); + row = tempReference_row20.get(); + + // Skip key. + Reference tempReference_row21 = + new Reference(row); + assert tupleScope.MoveNext(tempReference_row21); + row = tempReference_row21.get(); + Reference tempReference_row22 = + new Reference(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(valueLayout.ReadScope(tempReference_row22, tempReference_tupleScope, tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + tupleScope = tempReference_tupleScope.get(); + row = tempReference_row22.get(); + TypeArgument itemType = valueType.getTypeArgs().get(0).clone(); + Reference tempReference_row23 = + new Reference(row); + assert !innerScope.MoveNext(tempReference_row23); + row = tempReference_row23.get(); + Reference tempReference_row24 = + new Reference(row); + Reference tempReference_innerScope = + new Reference(innerScope); + ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().WriteSparse(tempReference_row24, + tempReference_innerScope, 1)); + innerScope = tempReference_innerScope.get(); + row = tempReference_row24.get(); + Reference tempReference_row25 = + new Reference(row); + Reference tempReference_innerScope2 = + new Reference(innerScope); + ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().DeleteSparse(tempReference_row25, + tempReference_innerScope2)); + innerScope = tempReference_innerScope2.get(); + row = tempReference_row25.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateInMap() + public void UpdateInMap() { + RowBuffer row = new RowBuffer(TypedMapUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row); + row = tempReference_row.get(); + + ArrayList expected = new ArrayList(Arrays.asList("Mark", "Harrison", "Carrie")); + + for (java.lang.Iterable permutation : expected.Permute()) { + Movie t1 = new Movie(); + t1.Cast = new HashMap(Map.ofEntries(Map.entry("Mark", "Luke"), Map.entry("Harrison", "Han" + ), Map.entry("Carrie", "Leia"))); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + this.WriteMovie(tempReference_row2, root.Clone(out _), t1); + row = tempReference_row2.get(); + + // Attempt to find each item in turn and then delete it. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("cast", out c); + Reference tempReference_row3 = + new Reference(row); + RowCursor mapScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out mapScope).Find(tempReference_row3, c.Path); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref mapScope, out mapScope)); + row = tempReference_row4.get(); + for (String key : permutation) { + // Verify it is already there. + KeyValuePair pair = new KeyValuePair(key, "map lookup matches only on" + + " key"); + Reference tempReference_row5 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row6, tempReference_tempCursor, c.TypeArgs, + pair)); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row7, ref mapScope, ref tempCursor, + out findScope)); + row = tempReference_row7.get(); + + // Insert it again with update. + KeyValuePair updatePair = new KeyValuePair(key, "update value"); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row8, Utf8String.Empty); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row9, tempReference_tempCursor2, c.TypeArgs, + updatePair)); + tempCursor = tempReference_tempCursor2.get(); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row10, ref mapScope, + ref tempCursor, UpdateOptions.Update)); + row = tempReference_row10.get(); + + // Verify that the value was updated. + Reference tempReference_row11 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row11, Utf8String.Empty); + row = tempReference_row11.get(); + Reference tempReference_row12 = + new Reference(row); + Reference tempReference_tempCursor3 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row12, tempReference_tempCursor3, c.TypeArgs + , pair)); + tempCursor = tempReference_tempCursor3.get(); + row = tempReference_row12.get(); + Reference tempReference_row13 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row13, ref mapScope, ref tempCursor + , out findScope)); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + Reference tempReference_findScope = + new Reference(findScope); + KeyValuePair foundPair; + Out> tempOut_foundPair = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row14, tempReference_findScope, c.TypeArgs, + tempOut_foundPair)); + foundPair = tempOut_foundPair.get(); + findScope = tempReference_findScope.get(); + row = tempReference_row14.get(); + assert key == foundPair.Key; + assert updatePair.Value == foundPair.Value; + + // Insert it again with upsert. + updatePair = new KeyValuePair(key, "upsert value"); + Reference tempReference_row15 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row15, Utf8String.Empty); + row = tempReference_row15.get(); + Reference tempReference_row16 = + new Reference(row); + Reference tempReference_tempCursor4 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row16, tempReference_tempCursor4, c.TypeArgs + , updatePair)); + tempCursor = tempReference_tempCursor4.get(); + row = tempReference_row16.get(); + + // ReSharper disable once RedundantArgumentDefaultValue + Reference tempReference_row17 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row17, ref mapScope, + ref tempCursor, UpdateOptions.Upsert)); + row = tempReference_row17.get(); + + // Verify that the value was upserted. + Reference tempReference_row18 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); + row = tempReference_row18.get(); + Reference tempReference_row19 = + new Reference(row); + Reference tempReference_tempCursor5 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row19, tempReference_tempCursor5, c.TypeArgs + , pair)); + tempCursor = tempReference_tempCursor5.get(); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row20, ref mapScope, ref tempCursor + , out findScope)); + row = tempReference_row20.get(); + Reference tempReference_row21 = + new Reference(row); + Reference tempReference_findScope2 = + new Reference(findScope); + Out> tempOut_foundPair2 = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(tempReference_row21, tempReference_findScope2, c.TypeArgs, + tempOut_foundPair2)); + foundPair = tempOut_foundPair2.get(); + findScope = tempReference_findScope2.get(); + row = tempReference_row21.get(); + assert key == foundPair.Key; + assert updatePair.Value == foundPair.Value; + + // Insert it again with insert (fail: exists). + updatePair = new KeyValuePair(key, "insert value"); + Reference tempReference_row22 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row22, Utf8String.Empty); + row = tempReference_row22.get(); + Reference tempReference_row23 = + new Reference(row); + Reference tempReference_tempCursor6 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row23, tempReference_tempCursor6, c.TypeArgs + , updatePair)); + tempCursor = tempReference_tempCursor6.get(); + row = tempReference_row23.get(); + Reference tempReference_row24 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row24, ref mapScope, + ref tempCursor, UpdateOptions.Insert)); + row = tempReference_row24.get(); + + // Insert it again with insert at (fail: disallowed). + updatePair = new KeyValuePair(key, "insertAt value"); + Reference tempReference_row25 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row25, Utf8String.Empty); + row = tempReference_row25.get(); + Reference tempReference_row26 = + new Reference(row); + Reference tempReference_tempCursor7 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(tempReference_row26, tempReference_tempCursor7, c.TypeArgs + , updatePair)); + tempCursor = tempReference_tempCursor7.get(); + row = tempReference_row26.get(); + Reference tempReference_row27 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.TypeConstraint(c.typeAs().MoveField(tempReference_row27, ref mapScope, + ref tempCursor, UpdateOptions.InsertAt)); + row = tempReference_row27.get(); + } + } + } + + private static Earnings ReadEarnings(Reference row, Reference udtScope) { + Layout udt = udtScope.get().getLayout(); + Earnings m = new Earnings(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert udt.TryFind("domestic", out c); + Out tempOut_Domestic = new Out(); + ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, udtScope, c, tempOut_Domestic)); + m.Domestic = tempOut_Domestic.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert udt.TryFind("worldwide", out c); + Out tempOut_Worldwide = new Out(); + ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, udtScope, c, tempOut_Worldwide)); + m.Worldwide = tempOut_Worldwide.get(); + return m; + } + + private static Result ReadKeyValue(Reference row, + Reference scope, TypeArgumentList typeArgs, + Out> pair) { + pair.setAndGet(null); + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + RowCursor tupleScope; + Out tempOut_tupleScope = + new Out(); + Result r = tupleLayout.ReadScope(row, scope, tempOut_tupleScope); + tupleScope = tempOut_tupleScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + tupleScope.MoveNext(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + TKey key; + Out tempOut_key = new Out(); + r = typeArgs.get(0).getType().>TypeAs().ReadSparse(row, tempReference_tupleScope, tempOut_key); + key = tempOut_key.get(); + tupleScope = tempReference_tupleScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + tupleScope.MoveNext(row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + TValue value; + Out tempOut_value = new Out(); + r = typeArgs.get(1).getType().>TypeAs().ReadSparse(row, tempReference_tupleScope2, tempOut_value); + value = tempOut_value.get(); + tupleScope = tempReference_tupleScope2.get(); + if (r != Result.SUCCESS) { + return r; + } + + pair.setAndGet(new KeyValuePair(key, value)); + return Result.SUCCESS; + } + + private Movie ReadMovie(Reference row, Reference root) { + Movie value = new Movie(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("cast", out c); + RowCursor castScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out castScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref castScope, out castScope) == Result.SUCCESS) { + value.Cast = new HashMap(); + while (castScope.MoveNext(row)) { + Reference tempReference_castScope = + new Reference(castScope); + KeyValuePair item; + Out> tempOut_item = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_castScope, c.TypeArgs, + tempOut_item)); + item = tempOut_item.get(); + castScope = tempReference_castScope.get(); + value.Cast.put(item.Key, item.Value); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("stats", out c); + RowCursor statsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out statsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref statsScope, out statsScope) == Result.SUCCESS) { + value.Stats = new HashMap(); + while (statsScope.MoveNext(row)) { + Reference tempReference_statsScope = + new Reference(statsScope); + KeyValuePair item; + Out> tempOut_item2 = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_statsScope, c.TypeArgs, + tempOut_item2)); + item = tempOut_item2.get(); + statsScope = tempReference_statsScope.get(); + value.Stats.put(item.Key, item.Value); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("related", out c); + RowCursor relatedScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out relatedScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref relatedScope, out relatedScope) == Result.SUCCESS) { + value.Related = new HashMap>(); + TypeArgument keyType = c.TypeArgs[0]; + TypeArgument valueType = c.TypeArgs[1]; + LayoutUtf8 keyLayout = keyType.getType().TypeAs(); + LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); + while (relatedScope.MoveNext(row)) { + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + Reference tempReference_relatedScope = + new Reference(relatedScope); + RowCursor tupleScope; + Out tempOut_tupleScope = + new Out(); + ResultAssert.IsSuccess(tupleLayout.ReadScope(row, tempReference_relatedScope, tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + relatedScope = tempReference_relatedScope.get(); + assert tupleScope.MoveNext(row); + String itemKey; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(keyLayout.ReadSparse(row, ref tupleScope, out itemKey)); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + RowCursor itemValueScope; + Out tempOut_itemValueScope = + new Out(); + ResultAssert.IsSuccess(valueLayout.ReadScope(row, tempReference_tupleScope, tempOut_itemValueScope)); + itemValueScope = tempOut_itemValueScope.get(); + tupleScope = tempReference_tupleScope.get(); + HashMap itemValue = new HashMap(); + while (itemValueScope.MoveNext(row)) { + Reference tempReference_itemValueScope = new Reference(itemValueScope); + KeyValuePair innerItem; + Out> tempOut_innerItem = + new Out>(); + ResultAssert.IsSuccess(TypedMapUnitTests.ReadKeyValue(row, tempReference_itemValueScope, + valueType.getTypeArgs().clone(), tempOut_innerItem)); + innerItem = tempOut_innerItem.get(); + itemValueScope = tempReference_itemValueScope.get(); + itemValue.put(innerItem.Key, innerItem.Value); + } + + value.Related.put(itemKey, itemValue); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("revenue", out c); + RowCursor revenueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out revenueScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref revenueScope, out revenueScope) == Result.SUCCESS) { + value.Revenue = new HashMap(); + TypeArgument keyType = c.TypeArgs[0]; + TypeArgument valueType = c.TypeArgs[1]; + LayoutDateTime keyLayout = keyType.getType().TypeAs(); + LayoutUDT valueLayout = valueType.getType().TypeAs(); + while (revenueScope.MoveNext(row)) { + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + Reference tempReference_revenueScope = + new Reference(revenueScope); + RowCursor tupleScope; + Out tempOut_tupleScope2 = + new Out(); + ResultAssert.IsSuccess(tupleLayout.ReadScope(row, tempReference_revenueScope, tempOut_tupleScope2)); + tupleScope = tempOut_tupleScope2.get(); + revenueScope = tempReference_revenueScope.get(); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope2 = new Reference(tupleScope); + java.time.LocalDateTime itemKey; + Out tempOut_itemKey = new Out(); + ResultAssert.IsSuccess(keyLayout.ReadSparse(row, tempReference_tupleScope2, tempOut_itemKey)); + itemKey = tempOut_itemKey.get(); + tupleScope = tempReference_tupleScope2.get(); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope3 = new Reference(tupleScope); + RowCursor itemValueScope; + Out tempOut_itemValueScope2 = new Out(); + ResultAssert.IsSuccess(valueLayout.ReadScope(row, tempReference_tupleScope3, tempOut_itemValueScope2)); + itemValueScope = tempOut_itemValueScope2.get(); + tupleScope = tempReference_tupleScope3.get(); + Reference tempReference_itemValueScope2 = new Reference(itemValueScope); + Earnings itemValue = TypedMapUnitTests.ReadEarnings(row, tempReference_itemValueScope2); + itemValueScope = tempReference_itemValueScope2.get(); + + value.Revenue.put(itemKey, itemValue); + } + } + + return value; + } + + private static void WriteEarnings(Reference row, Reference udtScope, TypeArgumentList typeArgs, Earnings m) { + Layout udt = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert udt.TryFind("domestic", out c); + ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, udtScope, c, m.Domestic)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert udt.TryFind("worldwide", out c); + ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, udtScope, c, m.Worldwide)); + } + + private static Result WriteKeyValue(Reference row, + Reference scope, TypeArgumentList typeArgs, KeyValuePair pair) { + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Result r = tupleLayout.WriteScope(row, scope, typeArgs.clone(), out tupleScope); + if (r != Result.SUCCESS) { + return r; + } + + Reference tempReference_tupleScope = + new Reference(tupleScope); + r = typeArgs.get(0).getType().>TypeAs().WriteSparse(row, tempReference_tupleScope, pair.Key); + tupleScope = tempReference_tupleScope.get(); + if (r != Result.SUCCESS) { + return r; + } + + tupleScope.MoveNext(row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + r = typeArgs.get(1).getType().>TypeAs().WriteSparse(row, tempReference_tupleScope2, pair.Value); + tupleScope = tempReference_tupleScope2.get(); + return r; + } + + private void WriteMovie(Reference row, Reference root, Movie value) { + LayoutColumn c; + + if (value.Cast != null) { + Out tempOut_c = + new Out(); + assert this.layout.TryFind("cast", tempOut_c); + c = tempOut_c.get(); + RowCursor castScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out castScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref castScope, + c.typeArgs().clone(), out castScope)); + for (KeyValuePair item : value.Cast) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor, + c.typeArgs().clone(), item)); + tempCursor = tempReference_tempCursor.get(); + Reference tempReference_castScope = + new Reference(castScope); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_castScope, + tempReference_tempCursor2)); + tempCursor = tempReference_tempCursor2.get(); + castScope = tempReference_castScope.get(); + } + } + + if (value.Stats != null) { + Out tempOut_c2 = + new Out(); + assert this.layout.TryFind("stats", tempOut_c2); + c = tempOut_c2.get(); + RowCursor statsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out statsScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref statsScope, + c.typeArgs().clone(), out statsScope)); + for (KeyValuePair item : value.Stats) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + Reference tempReference_tempCursor3 = + new Reference(tempCursor); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor3, + c.typeArgs().clone(), item)); + tempCursor = tempReference_tempCursor3.get(); + Reference tempReference_statsScope = + new Reference(statsScope); + Reference tempReference_tempCursor4 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_statsScope, + tempReference_tempCursor4)); + tempCursor = tempReference_tempCursor4.get(); + statsScope = tempReference_statsScope.get(); + } + } + + if (value.Related != null) { + Out tempOut_c3 = + new Out(); + assert this.layout.TryFind("related", tempOut_c3); + c = tempOut_c3.get(); + RowCursor relatedScoped; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out relatedScoped).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref relatedScoped, + c.typeArgs().clone(), out relatedScoped)); + for (KeyValuePair> item : value.Related) { + assert item.Value != null; + + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor1).Find(row, "related.0"); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(tupleLayout.WriteScope(row, ref tempCursor1, c.typeArgs().clone(), + out tupleScope)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, + ref tupleScope, item.Key)); + assert tupleScope.MoveNext(row); + TypeArgument valueType = c.typeArgs().get(1).clone(); + LayoutUniqueScope valueLayout = valueType.getType().TypeAs(); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(valueLayout.WriteScope(row, ref tupleScope, valueType.getTypeArgs().clone(), + out innerScope)); + for (KeyValuePair innerItem : item.Value) { + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword + // - these cannot be converted using the 'Out' helper class unless the method is within the + // code being modified: + root.get().Clone(out tempCursor2).Find(row, "related.0.0"); + Reference tempReference_tempCursor2 + = new Reference(tempCursor2); + ResultAssert.IsSuccess(TypedMapUnitTests.WriteKeyValue(row, tempReference_tempCursor2, + valueType.getTypeArgs().clone(), innerItem)); + tempCursor2 = tempReference_tempCursor2.get(); + Reference tempReference_innerScope = + new Reference(innerScope); + Reference tempReference_tempCursor22 = new Reference(tempCursor2); + ResultAssert.IsSuccess(valueLayout.MoveField(row, tempReference_innerScope, + tempReference_tempCursor22)); + tempCursor2 = tempReference_tempCursor22.get(); + innerScope = tempReference_innerScope.get(); + } + + Reference tempReference_relatedScoped = + new Reference(relatedScoped); + Reference tempReference_tempCursor1 = + new Reference(tempCursor1); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_relatedScoped, + tempReference_tempCursor1)); + tempCursor1 = tempReference_tempCursor1.get(); + relatedScoped = tempReference_relatedScoped.get(); + } + } + + if (value.Revenue != null) { + Out tempOut_c4 = + new Out(); + assert this.layout.TryFind("revenue", tempOut_c4); + c = tempOut_c4.get(); + RowCursor revenueScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out revenueScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref revenueScope, + c.typeArgs().clone(), out revenueScope)); + for (KeyValuePair item : value.Revenue) { + assert item.Value != null; + + LayoutIndexedScope tupleLayout = LayoutType.TypedTuple; + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor1).Find(row, "revenue.0"); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(tupleLayout.WriteScope(row, ref tempCursor1, c.typeArgs().clone(), + out tupleScope)); + Reference tempReference_tupleScope = + new Reference(tupleScope); + ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, + tempReference_tupleScope, item.Key)); + tupleScope = tempReference_tupleScope.get(); + assert tupleScope.MoveNext(row); + TypeArgument valueType = c.typeArgs().get(1).clone(); + LayoutUDT valueLayout = valueType.getType().TypeAs(); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + RowCursor itemScope; + Out tempOut_itemScope = + new Out(); + ResultAssert.IsSuccess(valueLayout.WriteScope(row, tempReference_tupleScope2, + valueType.getTypeArgs().clone(), tempOut_itemScope)); + itemScope = tempOut_itemScope.get(); + tupleScope = tempReference_tupleScope2.get(); + Reference tempReference_itemScope = + new Reference(itemScope); + TypedMapUnitTests.WriteEarnings(row, tempReference_itemScope, valueType.getTypeArgs().clone(), item.Value); + itemScope = tempReference_itemScope.get(); + + Reference tempReference_revenueScope = + new Reference(revenueScope); + Reference tempReference_tempCursor12 = + new Reference(tempCursor1); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_revenueScope, + tempReference_tempCursor12)); + tempCursor1 = tempReference_tempCursor12.get(); + revenueScope = tempReference_revenueScope.get(); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Earnings + private final static class Earnings { + public BigDecimal Domestic = new BigDecimal(0); + public BigDecimal Worldwide = new BigDecimal(0); + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Earnings; + Earnings earnings = tempVar ? (Earnings)obj : null; + return tempVar && this.equals(earnings); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return (this.Domestic.hashCode() * 397) ^ this.Worldwide.hashCode(); + } + } + + private boolean equals(Earnings other) { + return this.Domestic.compareTo(other.Domestic) == 0 && this.Worldwide.compareTo(other.Worldwide) == 0; + } + } + + private static class KeyValuePair { + public static KeyValuePair Create(TKey key, TValue value) { + return new KeyValuePair(key, value); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Movie + private final static class Movie { + public HashMap Cast; + public HashMap> Related; + public HashMap Revenue; + public HashMap Stats; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Movie; + Movie movie = tempVar ? (Movie)obj : null; + return tempVar && this.equals(movie); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = 0; + hashCode = (hashCode * 397) ^ (this.Cast == null ? null : this.Cast.hashCode() != null ? this.Cast.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Stats == null ? null : this.Stats.hashCode() != null ? this.Stats.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Related == null ? null : this.Related.hashCode() != null ? this.Related.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Revenue == null ? null : this.Revenue.hashCode() != null ? this.Revenue.hashCode() : 0); + return hashCode; + } + } + + private static boolean MapEquals(HashMap left, HashMap right) { + if (left.size() != right.size()) { + return false; + } + + for (KeyValuePair item : left) { + TValue value; + if (!(right.containsKey(item.Key) && (value = right.get(item.Key)) == value)) { + return false; + } + + if (!item.Value.equals(value)) { + return false; + } + } + + return true; + } + + private static boolean NestedMapEquals(HashMap> left, HashMap> right) { + if (left.size() != right.size()) { + return false; + } + + for (KeyValuePair> item : left) { + java.util.HashMap value; + if (!(right.containsKey(item.Key) && (value = right.get(item.Key)) == value)) { + return false; + } + + if (!Movie.MapEquals(item.Value, value)) { + return false; + } + } + + return true; + } + + private boolean equals(Movie other) { + return (this.Cast == other.Cast || ((this.Cast != null) && (other.Cast != null) && Movie.MapEquals(this.Cast, other.Cast))) && (this.Stats == other.Stats || ((this.Stats != null) && (other.Stats != null) && Movie.MapEquals(this.Stats, other.Stats))) && (this.Related == other.Related || ((this.Related != null) && (other.Related != null) && Movie.NestedMapEquals(this.Related, other.Related))) && (this.Revenue == other.Revenue || ((this.Revenue != null) && (other.Revenue != null) && Movie.MapEquals(this.Revenue, other.Revenue))); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java index 226ae02..6f2bd68 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/TypedSetUnitTests.java @@ -1,1995 +1,1995 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; - -import java.nio.file.Files; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass][DeploymentItem(TypedSetUnitTests.SchemaFile, "TestData")] public sealed class -// TypedSetUnitTests -public final class TypedSetUnitTests { - private static final int InitialRowSize = 2 * 1024 * 1024; - private static final String SchemaFile = "TestData\\TodoSchema.json"; - private Namespace counterSchema; - private Layout layout; - private LayoutResolver resolver; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTodos() - public void CreateTodos() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - Todo t1 = new Todo(); - t1.Attendees = new ArrayList(Arrays.asList("jason", "janice", "joshua")); - t1.Projects = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"), - UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2-1A2D-4EAF-8F33" + - "-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); - t1.Checkboxes = new ArrayList(Arrays.asList(true, false)); - t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)), - new ArrayList(Arrays.asList(4.1F, 5.7F)), new ArrayList(Arrays.asList(7.3F, 8.12F, 9.14F)))); - t1.Nested = - new ArrayList>>(Arrays.asList(new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1, 2)))), new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(3, 4)))), new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(5, 6)))))); - ShoppingItem tempVar = new ShoppingItem(); - tempVar.Label = "milk"; - tempVar.Count = 1; - ShoppingItem tempVar2 = new ShoppingItem(); - tempVar2.Label = "broccoli"; - tempVar2.Count = 2; - ShoppingItem tempVar3 = new ShoppingItem(); - tempVar3.Label = "steak"; - tempVar3.Count = 6; - t1.Shopping = new ArrayList(Arrays.asList(tempVar, tempVar2, tempVar3)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: t1.Work = new List> { Tuple.Create(false, 10000UL), Tuple.Create(true, - // 49053UL), Tuple.Create(false, 53111UL)}; - t1.Work = new ArrayList>(Arrays.asList(Tuple.Create(false, 10000), Tuple.Create(true, - 49053), Tuple.Create(false, 53111))); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - Reference tempReference_row4 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - Todo t2 = this.ReadTodo(tempReference_row3, RowCursor.create(tempReference_row4, out _)); - row = tempReference_row4.get(); - row = tempReference_row3.get(); - assert t1 == t2; - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindAndDelete() - public void FindAndDelete() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + - "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + - "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); - - for (java.lang.Iterable permutation : expected.Permute()) { - Todo t1 = new Todo(); - t1.Projects = new ArrayList(permutation); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - // Attempt to update each item in turn and then update it with itself. - Reference tempReference_row3 = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("projects", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor setScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out setScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); - row = tempReference_row5.get(); - for (UUID p : t1.Projects) { - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, - ref tempCursor, p)); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, - out findScope)); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row9, - ref findScope)); - row = tempReference_row9.get(); - } - } - - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindInSet() - public void FindInSet() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - Todo t1 = new Todo(); - t1.Attendees = new ArrayList(Arrays.asList("jason", "janice", "joshua")); - t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)), - new ArrayList(Arrays.asList(4.1F, 5.7F)), new ArrayList(Arrays.asList(7.3F, 8.12F, 9.14F)))); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - // Attempt to find each item in turn. - Reference tempReference_row3 = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("attendees", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor setScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); - row = tempReference_row5.get(); - for (int i = 0; i < t1.Attendees.size(); i++) { - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, - t1.Attendees.get(i))); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, - out findScope)); - row = tempReference_row8.get(); - Assert.AreEqual(i, findScope.Index, String.format("Failed to find t1.Attendees[%1$s]", i)); - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("prices", out c); - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row9, c.Path); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row10, ref setScope, out setScope)); - row = tempReference_row10.get(); - TypeArgument innerType = c.TypeArgs[0]; - TypeArgument itemType = innerType.getTypeArgs().get(0).clone(); - LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); - for (int i = 0; i < t1.Prices.size(); i++) { - Reference tempReference_row11 = - new Reference(row); - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out tempCursor1).Find(tempReference_row11, Utf8String.Empty); - row = tempReference_row11.get(); - Reference tempReference_row12 = - new Reference(row); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row12, ref tempCursor1, - innerType.getTypeArgs().clone(), out innerScope)); - row = tempReference_row12.get(); - for (int j = 0; j < t1.Prices.get(i).size(); j++) { - Reference tempReference_row13 = - new Reference(row); - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor2).Find(tempReference_row13, "prices.0.0"); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteSparse(tempReference_row14, - tempReference_tempCursor2, t1.Prices.get(i).get(j))); - tempCursor2 = tempReference_tempCursor2.get(); - row = tempReference_row14.get(); - Reference tempReference_row15 = - new Reference(row); - Reference tempReference_innerScope = - new Reference(innerScope); - Reference tempReference_tempCursor22 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row15, tempReference_innerScope, - tempReference_tempCursor22)); - tempCursor2 = tempReference_tempCursor22.get(); - innerScope = tempReference_innerScope.get(); - row = tempReference_row15.get(); - } - - Reference tempReference_row16 = - new Reference(row); - RowCursor findScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row16, ref setScope, ref tempCursor1, - out findScope)); - row = tempReference_row16.get(); - Assert.AreEqual(i, findScope.Index, String.format("Failed to find t1.Prices[%1$s]", i)); - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() - public void ParseNamespaceExample() { - String json = Files.readString(TypedSetUnitTests.SchemaFile); - this.counterSchema = Namespace.Parse(json); - this.resolver = new LayoutResolverNamespace(this.counterSchema); - this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), - x -> x.Name.equals("Todo")).SchemaId); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUniquenessViolations() - public void PreventUniquenessViolations() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - Todo t1 = new Todo(); - t1.Attendees = new ArrayList(Arrays.asList("jason")); - t1.Projects = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"))); - t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)))); - ShoppingItem tempVar = new ShoppingItem(); - tempVar.Label = "milk"; - tempVar.Count = 1; - t1.Shopping = new ArrayList(Arrays.asList(tempVar)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: t1.Work = new List> { Tuple.Create(false, 10000UL)}; - t1.Work = new ArrayList>(Arrays.asList(Tuple.Create(false, 10000))); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - // Attempt to insert duplicate items in existing sets. - Reference tempReference_row3 = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("attendees", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor setScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, - t1.Attendees.get(0))); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row8, ref setScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row10, ref tempCursor, - t1.Attendees.get(0))); - row = tempReference_row10.get(); - Reference tempReference_row11 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row11, ref setScope, ref tempCursor, out _)); - row = tempReference_row11.get(); - Reference tempReference_row12 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row12, Utf8String.Empty); - row = tempReference_row12.get(); - Reference tempReference_row13 = - new Reference(row); - String _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.NotFound(c.TypeArgs[0].Type.TypeAs().ReadSparse(tempReference_row13, ref tempCursor, out _)); - row = tempReference_row13.get(); - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("projects", out c); - Reference tempReference_row14 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row14, c.Path); - row = tempReference_row14.get(); - Reference tempReference_row15 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row15, ref setScope, out setScope)); - row = tempReference_row15.get(); - Reference tempReference_row16 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row16, Utf8String.Empty); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row17, ref tempCursor, - t1.Projects.get(0))); - row = tempReference_row17.get(); - Reference tempReference_row18 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row18, ref setScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row18.get(); - - // Attempt to move a duplicate set into a set of sets. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("prices", out c); - Reference tempReference_row19 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row19, c.Path); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row20, ref setScope, out setScope)); - row = tempReference_row20.get(); - TypeArgument innerType = c.TypeArgs[0]; - LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); - Reference tempReference_row21 = - new Reference(row); - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor1).Find(tempReference_row21, Utf8String.Empty); - row = tempReference_row21.get(); - Reference tempReference_row22 = - new Reference(row); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row22, ref tempCursor1, innerType.getTypeArgs().clone() - , out innerScope)); - row = tempReference_row22.get(); - for (float innerItem : t1.Prices.get(0)) { - LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); - Reference tempReference_row23 = - new Reference(row); - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out tempCursor2).Find(tempReference_row23, "prices.0.0"); - row = tempReference_row23.get(); - Reference tempReference_row24 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(itemLayout.WriteSparse(tempReference_row24, tempReference_tempCursor2, innerItem)); - tempCursor2 = tempReference_tempCursor2.get(); - row = tempReference_row24.get(); - Reference tempReference_row25 = - new Reference(row); - Reference tempReference_innerScope = - new Reference(innerScope); - Reference tempReference_tempCursor22 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row25, tempReference_innerScope, tempReference_tempCursor22)); - tempCursor2 = tempReference_tempCursor22.get(); - innerScope = tempReference_innerScope.get(); - row = tempReference_row25.get(); - } - - Reference tempReference_row26 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row26, ref setScope, ref tempCursor1, - UpdateOptions.Insert)); - row = tempReference_row26.get(); - - // Attempt to move a duplicate UDT into a set of UDT. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("shopping", out c); - Reference tempReference_row27 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row27, c.Path); - row = tempReference_row27.get(); - Reference tempReference_row28 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row28, ref setScope, out setScope)); - row = tempReference_row28.get(); - LayoutUDT udtLayout = c.TypeArgs[0].Type.TypeAs(); - Reference tempReference_row29 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row29, Utf8String.Empty); - row = tempReference_row29.get(); - Reference tempReference_row30 = - new Reference(row); - Reference tempReference_tempCursor = - new Reference(tempCursor); - RowCursor udtScope; - Out tempOut_udtScope = - new Out(); - ResultAssert.IsSuccess(udtLayout.WriteScope(tempReference_row30, tempReference_tempCursor, c.TypeArgs[0].TypeArgs, - tempOut_udtScope)); - udtScope = tempOut_udtScope.get(); - tempCursor = tempReference_tempCursor.get(); - row = tempReference_row30.get(); - Reference tempReference_row31 = - new Reference(row); - Reference tempReference_udtScope = - new Reference(udtScope); - TypedSetUnitTests.WriteShoppingItem(tempReference_row31, tempReference_udtScope, c.TypeArgs[0].TypeArgs, - t1.Shopping.get(0)); - udtScope = tempReference_udtScope.get(); - row = tempReference_row31.get(); - Reference tempReference_row32 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row32, ref setScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row32.get(); - - // Attempt to move a duplicate tuple into a set of tuple. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("work", out c); - Reference tempReference_row33 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out setScope).Find(tempReference_row33, c.Path); - row = tempReference_row33.get(); - Reference tempReference_row34 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row34, ref setScope, out setScope)); - row = tempReference_row34.get(); - innerType = c.TypeArgs[0]; - LayoutIndexedScope tupleLayout = innerType.getType().TypeAs(); - Reference tempReference_row35 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.Clone(out tempCursor).Find(tempReference_row35, Utf8String.Empty); - row = tempReference_row35.get(); - Reference tempReference_row36 = - new Reference(row); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(tupleLayout.WriteScope(tempReference_row36, ref tempCursor, innerType.getTypeArgs().clone(), - out tupleScope)); - row = tempReference_row36.get(); - Reference tempReference_row37 = - new Reference(row); - Reference tempReference_tupleScope = - new Reference(tupleScope); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(tempReference_row37, tempReference_tupleScope, t1.Work.get(0).Item1)); - tupleScope = tempReference_tupleScope.get(); - row = tempReference_row37.get(); - Reference tempReference_row38 = - new Reference(row); - assert tupleScope.MoveNext(tempReference_row38); - row = tempReference_row38.get(); - Reference tempReference_row39 = - new Reference(row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(tempReference_row39, tempReference_tupleScope2, t1.Work.get(0).Item2)); - tupleScope = tempReference_tupleScope2.get(); - row = tempReference_row39.get(); - Reference tempReference_row40 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row40, ref setScope, ref tempCursor, - UpdateOptions.Insert)); - row = tempReference_row40.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUpdatesInNonUpdatableScope() - public void PreventUpdatesInNonUpdatableScope() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - // Write a set and then try to write directly into it. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("attendees", out c); - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor setScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row, out setScope).Find(tempReference_row2, c.Path); - row = tempReference_row2.get(); - row = tempReference_row.get(); - Reference tempReference_row3 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row3, ref setScope, c.TypeArgs, - out setScope)); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row4, - ref setScope, "foo")); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row5, out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - row = tempReference_row5.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, "foo" - )); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row8, ref setScope, ref tempCursor)); - row = tempReference_row8.get(); - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.InsufficientPermissions(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row9, - ref setScope, "foo")); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row10, ref setScope)); - row = tempReference_row10.get(); - - // Write a set of sets, successfully insert an empty set into it, and then try to write directly to the inner - // set. - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("prices", out c); - Reference tempReference_row11 = - new Reference(row); - Reference tempReference_row12 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row11, out setScope).Find(tempReference_row12, c.Path); - row = tempReference_row12.get(); - row = tempReference_row11.get(); - Reference tempReference_row13 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row13, ref setScope, c.TypeArgs, - out setScope)); - row = tempReference_row13.get(); - TypeArgument innerType = c.TypeArgs[0]; - TypeArgument itemType = innerType.getTypeArgs().get(0).clone(); - LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); - Reference tempReference_row14 = - new Reference(row); - Reference tempReference_row15 = - new Reference(row); - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row14, out tempCursor1).Find(tempReference_row15, "prices.0"); - row = tempReference_row15.get(); - row = tempReference_row14.get(); - Reference tempReference_row16 = - new Reference(row); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row16, ref tempCursor1, innerType.getTypeArgs().clone() - , out innerScope)); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - Reference tempReference_row18 = - new Reference(row); - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - RowCursor.create(tempReference_row17, out tempCursor2).Find(tempReference_row18, "prices.0.0"); - row = tempReference_row18.get(); - row = tempReference_row17.get(); - Reference tempReference_row19 = - new Reference(row); - Reference tempReference_tempCursor2 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteSparse(tempReference_row19, - tempReference_tempCursor2, 1.0F)); - tempCursor2 = tempReference_tempCursor2.get(); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - Reference tempReference_innerScope = - new Reference(innerScope); - Reference tempReference_tempCursor22 = - new Reference(tempCursor2); - ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row20, tempReference_innerScope, tempReference_tempCursor22)); - tempCursor2 = tempReference_tempCursor22.get(); - innerScope = tempReference_innerScope.get(); - row = tempReference_row20.get(); - Reference tempReference_row21 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row21, ref setScope, ref tempCursor1)); - row = tempReference_row21.get(); - Reference tempReference_row22 = - new Reference(row); - assert setScope.MoveNext(tempReference_row22); - row = tempReference_row22.get(); - Reference tempReference_row23 = - new Reference(row); - Reference tempReference_setScope = - new Reference(setScope); - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(tempReference_row23, tempReference_setScope, tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - setScope = tempReference_setScope.get(); - row = tempReference_row23.get(); - Reference tempReference_row24 = - new Reference(row); - Reference tempReference_innerScope2 = - new Reference(innerScope); - ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().WriteSparse(tempReference_row24, - tempReference_innerScope2, 1.0F)); - innerScope = tempReference_innerScope2.get(); - row = tempReference_row24.get(); - Reference tempReference_row25 = - new Reference(row); - Reference tempReference_innerScope3 = - new Reference(innerScope); - ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().DeleteSparse(tempReference_row25, - tempReference_innerScope3)); - innerScope = tempReference_innerScope3.get(); - row = tempReference_row25.get(); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void RowWriterTest() - public void RowWriterTest() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - - ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + - "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + - "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); - - for (java.lang.Iterable permutation : expected.Permute()) { - Todo t1 = new Todo(); - t1.Projects = new ArrayList(permutation); - - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - Reference tempReference_row = - new Reference(row); - ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, t1, TypedSetUnitTests.SerializeTodo)); - row = tempReference_row.get(); - - // Update the existing Set by updating each item with itself. This ensures that the RowWriter has - // maintained the unique index correctly. - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("projects", out c); - Reference tempReference_row2 = - new Reference(row); - RowCursor root; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - RowCursor.create(tempReference_row2, out root); - row = tempReference_row2.get(); - Reference tempReference_row3 = - new Reference(row); - RowCursor projScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out projScope).Find(tempReference_row3, c.Path); - row = tempReference_row3.get(); - Reference tempReference_row4 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref projScope, out projScope)); - row = tempReference_row4.get(); - for (UUID item : t1.Projects) { - Reference tempReference_row5 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); - row = tempReference_row5.get(); - Reference tempReference_row6 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row6, - ref tempCursor, item)); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row7, ref projScope, - ref tempCursor)); - row = tempReference_row7.get(); - } - - Reference tempReference_row8 = - new Reference(row); - Reference tempReference_row9 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - Todo t2 = this.ReadTodo(tempReference_row8, RowCursor.create(tempReference_row9, out _)); - row = tempReference_row9.get(); - row = tempReference_row8.get(); - assert t1 == t2; - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateInSet() - public void UpdateInSet() { - RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); - row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); - - ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + - "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + - "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); - - for (java.lang.Iterable permutation : expected.Permute()) { - Todo t1 = new Todo(); - t1.Projects = new ArrayList(permutation); - - Reference tempReference_row = - new Reference(row); - Reference tempReference_row2 = - new Reference(row); - RowCursor _; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); - row = tempReference_row2.get(); - row = tempReference_row.get(); - - // Attempt to find each item in turn and then delete it. - Reference tempReference_row3 = - new Reference(row); - RowCursor root = RowCursor.create(tempReference_row3); - row = tempReference_row3.get(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert this.layout.TryFind("projects", out c); - Reference tempReference_row4 = - new Reference(row); - RowCursor setScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.Clone(out setScope).Find(tempReference_row4, c.Path); - row = tempReference_row4.get(); - Reference tempReference_row5 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); - row = tempReference_row5.get(); - for (UUID elm : t1.Projects) { - // Verify it is already there. - Reference tempReference_row6 = - new Reference(row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); - row = tempReference_row6.get(); - Reference tempReference_row7 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, - ref tempCursor, elm)); - row = tempReference_row7.get(); - Reference tempReference_row8 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: C# to Java Converter could not resolve the named parameters in the - // following line: - //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeAs().Find(ref row, ref setScope, ref - // tempCursor, value: out RowCursor _)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, - value: - out RowCursor _)) - row = tempReference_row8.get(); - - // Insert it again with update. - Reference tempReference_row9 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); - row = tempReference_row9.get(); - Reference tempReference_row10 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row10, - ref tempCursor, elm)); - row = tempReference_row10.get(); - Reference tempReference_row11 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row11, ref setScope, - ref tempCursor, UpdateOptions.Update)); - row = tempReference_row11.get(); - - // Insert it again with upsert. - Reference tempReference_row12 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row12, Utf8String.Empty); - row = tempReference_row12.get(); - Reference tempReference_row13 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row13, - ref tempCursor, elm)); - row = tempReference_row13.get(); - Reference tempReference_row14 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row14, ref setScope, - ref tempCursor)); - row = tempReference_row14.get(); - - // Insert it again with insert (fail: exists). - Reference tempReference_row15 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row15, Utf8String.Empty); - row = tempReference_row15.get(); - Reference tempReference_row16 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row16, - ref tempCursor, elm)); - row = tempReference_row16.get(); - Reference tempReference_row17 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.Exists(c.typeAs().MoveField(tempReference_row17, ref setScope, - ref tempCursor, UpdateOptions.Insert)); - row = tempReference_row17.get(); - - // Insert it again with insert at (fail: disallowed). - Reference tempReference_row18 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); - row = tempReference_row18.get(); - Reference tempReference_row19 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row19, - ref tempCursor, elm)); - row = tempReference_row19.get(); - Reference tempReference_row20 = - new Reference(row); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.TypeConstraint(c.typeAs().MoveField(tempReference_row20, ref setScope, - ref tempCursor, UpdateOptions.InsertAt)); - row = tempReference_row20.get(); - } - } - } - - private static ShoppingItem ReadShoppingItem(Reference row, Reference matchScope) { - Layout matchLayout = matchScope.get().getLayout(); - ShoppingItem m = new ShoppingItem(); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("label", out c); - Out tempOut_Label = new Out(); - ResultAssert.IsSuccess(c.typeAs().ReadVariable(row, matchScope, c, tempOut_Label)); - m.Label = tempOut_Label.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("count", out c); - Out tempOut_Count = new Out(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeAs().ReadFixed(ref row, ref matchScope, c, out m.Count)); - ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, matchScope, c, tempOut_Count)); - m.Count = tempOut_Count.get(); - return m; - } - - private Todo ReadTodo(Reference row, Reference root) { - Todo value = new Todo(); - - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("attendees", out c); - RowCursor tagsScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out tagsScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref tagsScope, out tagsScope) == Result.SUCCESS) { - value.Attendees = new ArrayList(); - while (tagsScope.MoveNext(row)) { - String item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tagsScope, - out item)); - value.Attendees.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("projects", out c); - RowCursor projScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out projScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref projScope, out projScope) == Result.SUCCESS) { - value.Projects = new ArrayList(); - while (projScope.MoveNext(row)) { - java.util.UUID item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref projScope, - out item)); - value.Projects.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("checkboxes", out c); - RowCursor checkboxScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out checkboxScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref checkboxScope, out checkboxScope) == Result.SUCCESS) { - value.Checkboxes = new ArrayList(); - while (checkboxScope.MoveNext(row)) { - boolean item; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref checkboxScope, - out item)); - value.Checkboxes.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("prices", out c); - RowCursor pricesScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out pricesScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref pricesScope, out pricesScope) == Result.SUCCESS) { - value.Prices = new ArrayList>(); - TypeArgument innerType = c.TypeArgs[0]; - LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); - while (pricesScope.MoveNext(row)) { - ArrayList item = new ArrayList(); - Reference tempReference_pricesScope = - new Reference(pricesScope); - RowCursor innerScope; - Out tempOut_innerScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_pricesScope, tempOut_innerScope)); - innerScope = tempOut_innerScope.get(); - pricesScope = tempReference_pricesScope.get(); - while (innerScope.MoveNext(row)) { - LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); - Reference tempReference_innerScope = - new Reference(innerScope); - float innerItem; - Out tempOut_innerItem = new Out(); - ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_innerScope, tempOut_innerItem)); - innerItem = tempOut_innerItem.get(); - innerScope = tempReference_innerScope.get(); - item.add(innerItem); - } - - value.Prices.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("nested", out c); - RowCursor nestedScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out nestedScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref nestedScope, out nestedScope) == Result.SUCCESS) { - value.Nested = new ArrayList>>(); - TypeArgument in2Type = c.TypeArgs[0]; - LayoutUniqueScope in2Layout = in2Type.getType().TypeAs(); - while (nestedScope.MoveNext(row)) { - ArrayList> item = new ArrayList>(); - Reference tempReference_nestedScope = - new Reference(nestedScope); - RowCursor in2Scope; - Out tempOut_in2Scope = - new Out(); - ResultAssert.IsSuccess(in2Layout.ReadScope(row, tempReference_nestedScope, tempOut_in2Scope)); - in2Scope = tempOut_in2Scope.get(); - nestedScope = tempReference_nestedScope.get(); - while (in2Scope.MoveNext(row)) { - TypeArgument in3Type = in2Type.getTypeArgs().get(0).clone(); - LayoutUniqueScope in3Layout = in3Type.getType().TypeAs(); - ArrayList item2 = new ArrayList(); - Reference tempReference_in2Scope = - new Reference(in2Scope); - RowCursor in3Scope; - Out tempOut_in3Scope = - new Out(); - ResultAssert.IsSuccess(in3Layout.ReadScope(row, tempReference_in2Scope, tempOut_in3Scope)); - in3Scope = tempOut_in3Scope.get(); - in2Scope = tempReference_in2Scope.get(); - while (in3Scope.MoveNext(row)) { - LayoutInt32 itemLayout = in3Type.getTypeArgs().get(0).getType().TypeAs(); - Reference tempReference_in3Scope = new Reference(in3Scope); - int innerItem; - Out tempOut_innerItem2 = new Out(); - ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_in3Scope, tempOut_innerItem2)); - innerItem = tempOut_innerItem2.get(); - in3Scope = tempReference_in3Scope.get(); - item2.add(innerItem); - } - - item.add(item2); - } - - value.Nested.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("shopping", out c); - RowCursor shoppingScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out shoppingScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref shoppingScope, out shoppingScope) == Result.SUCCESS) { - value.Shopping = new ArrayList(); - while (shoppingScope.MoveNext(row)) { - TypeArgument innerType = c.TypeArgs[0]; - LayoutUDT innerLayout = innerType.getType().TypeAs(); - Reference tempReference_shoppingScope = - new Reference(shoppingScope); - RowCursor matchScope; - Out tempOut_matchScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_shoppingScope, tempOut_matchScope)); - matchScope = tempOut_matchScope.get(); - shoppingScope = tempReference_shoppingScope.get(); - Reference tempReference_matchScope = - new Reference(matchScope); - ShoppingItem item = TypedSetUnitTests.ReadShoppingItem(row, tempReference_matchScope); - matchScope = tempReference_matchScope.get(); - value.Shopping.add(item); - } - } - - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert this.layout.TryFind("work", out c); - RowCursor workScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - root.get().Clone(out workScope).Find(row, c.Path); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: - if (c.typeAs().ReadScope(row, ref workScope, out workScope) == Result.SUCCESS) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: value.Work = new List>(); - value.Work = new ArrayList>(); - while (workScope.MoveNext(row)) { - TypeArgument innerType = c.TypeArgs[0]; - LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); - - Reference tempReference_workScope = new Reference(workScope); - RowCursor tupleScope; - Out tempOut_tupleScope = new Out(); - ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_workScope, tempOut_tupleScope)); - tupleScope = tempOut_tupleScope.get(); - workScope = tempReference_workScope.get(); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope = new Reference(tupleScope); - boolean item1; - Out tempOut_item1 = new Out(); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, tempReference_tupleScope, tempOut_item1)); - item1 = tempOut_item1.get(); - tupleScope = tempReference_tupleScope.get(); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope2 = new Reference(tupleScope); - long item2; - Out tempOut_item2 = new Out(); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: ResultAssert.IsSuccess(innerType.TypeArgs[1].Type.TypeAs().ReadSparse(ref row, ref tupleScope, out ulong item2)); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, tempReference_tupleScope2, tempOut_item2)); - item2 = tempOut_item2.get(); - tupleScope = tempReference_tupleScope2.get(); - value.Work.add(Tuple.Create(item1, item2)); - } - } - - return value; - } - - private static Result SerializeTodo(Reference writer, TypeArgument typeArg, Todo value) { - if (value.Projects != null) { - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - assert writer.get().getLayout().TryFind("projects", out c); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are - // not converted by C# to Java Converter: - Result r = writer.get().WriteScope("projects", c.TypeArg, value.Projects, (ref RowWriter writer2, - TypeArgument typeArg2, ArrayList value2) -> - { - for (UUID item : value2) { - ResultAssert.IsSuccess(writer2.WriteGuid(null, item)); - } - - return Result.SUCCESS; - }); - return r; - } - - return Result.SUCCESS; - } - - private static void WriteShoppingItem(Reference row, Reference matchScope, TypeArgumentList typeArgs, ShoppingItem m) { - Layout matchLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); - LayoutColumn c; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("label", out c); - ResultAssert.IsSuccess(c.typeAs().WriteVariable(row, matchScope, c, m.Label)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: - assert matchLayout.TryFind("count", out c); - ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, matchScope, c, m.Count)); - } - - private void WriteTodo(Reference row, Reference root, Todo value) { - LayoutColumn c; - - if (value.Attendees != null) { - Out tempOut_c = - new Out(); - assert this.layout.TryFind("attendees", tempOut_c); - c = tempOut_c.get(); - RowCursor attendScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out attendScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref attendScope, - c.typeArgs().clone(), out attendScope)); - for (String item : value.Attendees) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, - ref tempCursor, item)); - Reference tempReference_attendScope = - new Reference(attendScope); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_attendScope, - tempReference_tempCursor)); - tempCursor = tempReference_tempCursor.get(); - attendScope = tempReference_attendScope.get(); - } - } - - if (value.Projects != null) { - Out tempOut_c2 = - new Out(); - assert this.layout.TryFind("projects", tempOut_c2); - c = tempOut_c2.get(); - RowCursor projScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out projScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref projScope, - c.typeArgs().clone(), out projScope)); - for (UUID item : value.Projects) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - Reference tempReference_tempCursor2 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, - tempReference_tempCursor2, item)); - tempCursor = tempReference_tempCursor2.get(); - Reference tempReference_projScope = - new Reference(projScope); - Reference tempReference_tempCursor3 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_projScope, - tempReference_tempCursor3)); - tempCursor = tempReference_tempCursor3.get(); - projScope = tempReference_projScope.get(); - } - } - - if (value.Checkboxes != null) { - Out tempOut_c3 = - new Out(); - assert this.layout.TryFind("checkboxes", tempOut_c3); - c = tempOut_c3.get(); - RowCursor checkboxScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out checkboxScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref checkboxScope, - c.typeArgs().clone(), out checkboxScope)); - for (boolean item : value.Checkboxes) { - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - Reference tempReference_tempCursor4 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, - tempReference_tempCursor4, item)); - tempCursor = tempReference_tempCursor4.get(); - Reference tempReference_checkboxScope = - new Reference(checkboxScope); - Reference tempReference_tempCursor5 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_checkboxScope, - tempReference_tempCursor5)); - tempCursor = tempReference_tempCursor5.get(); - checkboxScope = tempReference_checkboxScope.get(); - } - } - - if (value.Prices != null) { - Out tempOut_c4 = - new Out(); - assert this.layout.TryFind("prices", tempOut_c4); - c = tempOut_c4.get(); - RowCursor pricesScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out pricesScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref pricesScope, - c.typeArgs().clone(), out pricesScope)); - for (ArrayList item : value.Prices) { - assert item != null; - TypeArgument innerType = c.typeArgs().get(0).clone(); - LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor1).Find(row, "prices.0"); - RowCursor innerScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref tempCursor1, innerType.getTypeArgs().clone(), - out innerScope)); - for (float innerItem : item) { - LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - // - these cannot be converted using the 'Out' helper class unless the method is within the - // code being modified: - root.get().Clone(out tempCursor2).Find(row, "prices.0.0"); - Reference tempReference_tempCursor2 - = new Reference(tempCursor2); - ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_tempCursor2, innerItem)); - tempCursor2 = tempReference_tempCursor2.get(); - Reference tempReference_innerScope = - new Reference(innerScope); - Reference tempReference_tempCursor22 = new Reference(tempCursor2); - ResultAssert.IsSuccess(innerLayout.MoveField(row, tempReference_innerScope, tempReference_tempCursor22)); - tempCursor2 = tempReference_tempCursor22.get(); - innerScope = tempReference_innerScope.get(); - } - - Reference tempReference_pricesScope = - new Reference(pricesScope); - Reference tempReference_tempCursor1 = - new Reference(tempCursor1); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_pricesScope, - tempReference_tempCursor1)); - tempCursor1 = tempReference_tempCursor1.get(); - pricesScope = tempReference_pricesScope.get(); - } - } - - if (value.Nested != null) { - Out tempOut_c5 = - new Out(); - assert this.layout.TryFind("nested", tempOut_c5); - c = tempOut_c5.get(); - RowCursor nestedScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out nestedScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref nestedScope, - c.typeArgs().clone(), out nestedScope)); - for (ArrayList> item : value.Nested) { - assert item != null; - TypeArgument in2Type = c.typeArgs().get(0).clone(); - LayoutUniqueScope in2Layout = in2Type.getType().TypeAs(); - RowCursor tempCursor1; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor1).Find(row, "prices.0"); - RowCursor in2Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(in2Layout.WriteScope(row, ref tempCursor1, in2Type.getTypeArgs().clone(), - out in2Scope)); - for (ArrayList item2 : item) { - assert item2 != null; - TypeArgument in3Type = in2Type.getTypeArgs().get(0).clone(); - LayoutUniqueScope in3Layout = in3Type.getType().TypeAs(); - RowCursor tempCursor2; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - // - these cannot be converted using the 'Out' helper class unless the method is within the - // code being modified: - root.get().Clone(out tempCursor2).Find(row, "prices.0.0"); - RowCursor in3Scope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - // - these cannot be converted using the 'Out' helper class unless the method is within the - // code being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - // - these cannot be converted using the 'Ref' helper class unless the method is within the - // code being modified: - ResultAssert.IsSuccess(in3Layout.WriteScope(row, ref tempCursor2, in3Type.getTypeArgs().clone(), - out in3Scope)); - for (int innerItem : item2) { - LayoutInt32 itemLayout = in3Type.getTypeArgs().get(0).getType().TypeAs(); - RowCursor tempCursor3; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' - // keyword - these cannot be converted using the 'Out' helper class unless the method - // is within the code being modified: - root.get().Clone(out tempCursor3).Find(row, "prices.0.0.0"); - Reference tempReference_tempCursor3 = new Reference(tempCursor3); - ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_tempCursor3, innerItem)); - tempCursor3 = tempReference_tempCursor3.get(); - Reference tempReference_in3Scope = new Reference(in3Scope); - Reference tempReference_tempCursor32 = new Reference(tempCursor3); - ResultAssert.IsSuccess(in3Layout.MoveField(row, tempReference_in3Scope, tempReference_tempCursor32)); - tempCursor3 = tempReference_tempCursor32.get(); - in3Scope = tempReference_in3Scope.get(); - } - - Reference tempReference_in2Scope = - new Reference(in2Scope); - Reference tempReference_tempCursor23 = new Reference(tempCursor2); - ResultAssert.IsSuccess(in2Layout.MoveField(row, tempReference_in2Scope, tempReference_tempCursor23)); - tempCursor2 = tempReference_tempCursor23.get(); - in2Scope = tempReference_in2Scope.get(); - } - - Reference tempReference_nestedScope = - new Reference(nestedScope); - Reference tempReference_tempCursor12 = - new Reference(tempCursor1); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_nestedScope, - tempReference_tempCursor12)); - tempCursor1 = tempReference_tempCursor12.get(); - nestedScope = tempReference_nestedScope.get(); - } - } - - if (value.Shopping != null) { - Out tempOut_c6 = - new Out(); - assert this.layout.TryFind("shopping", tempOut_c6); - c = tempOut_c6.get(); - RowCursor shoppingScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out shoppingScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref shoppingScope, - c.typeArgs().clone(), out shoppingScope)); - for (ShoppingItem item : value.Shopping) { - TypeArgument innerType = c.typeArgs().get(0).clone(); - LayoutUDT innerLayout = innerType.getType().TypeAs(); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - Reference tempReference_tempCursor6 = - new Reference(tempCursor); - RowCursor itemScope; - Out tempOut_itemScope = - new Out(); - ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_tempCursor6, - innerType.getTypeArgs().clone(), tempOut_itemScope)); - itemScope = tempOut_itemScope.get(); - tempCursor = tempReference_tempCursor6.get(); - Reference tempReference_itemScope = - new Reference(itemScope); - TypedSetUnitTests.WriteShoppingItem(row, tempReference_itemScope, innerType.getTypeArgs().clone(), item); - itemScope = tempReference_itemScope.get(); - Reference tempReference_shoppingScope = - new Reference(shoppingScope); - Reference tempReference_tempCursor7 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_shoppingScope, - tempReference_tempCursor7)); - tempCursor = tempReference_tempCursor7.get(); - shoppingScope = tempReference_shoppingScope.get(); - } - } - - if (value.Work != null) { - Out tempOut_c7 = - new Out(); - assert this.layout.TryFind("work", tempOut_c7); - c = tempOut_c7.get(); - RowCursor workScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - root.get().Clone(out workScope).Find(row, c.path()); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref workScope, - c.typeArgs().clone(), out workScope)); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: foreach (Tuple item in value.Work) - for (Tuple item : value.Work) { - TypeArgument innerType = c.typeArgs().get(0).clone(); - LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - - // these cannot be converted using the 'Out' helper class unless the method is within the code - // being modified: - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - - // these cannot be converted using the 'Ref' helper class unless the method is within the code - // being modified: - ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref tempCursor, innerType.getTypeArgs().clone(), - out tupleScope)); - Reference tempReference_tupleScope = - new Reference(tupleScope); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, tempReference_tupleScope, item.Item1)); - tupleScope = tempReference_tupleScope.get(); - assert tupleScope.MoveNext(row); - Reference tempReference_tupleScope2 = - new Reference(tupleScope); - ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row, tempReference_tupleScope2, item.Item2)); - tupleScope = tempReference_tupleScope2.get(); - Reference tempReference_workScope = - new Reference(workScope); - Reference tempReference_tempCursor8 = - new Reference(tempCursor); - ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_workScope, - tempReference_tempCursor8)); - tempCursor = tempReference_tempCursor8.get(); - workScope = tempReference_workScope.get(); - } - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class ShoppingItem - private final static class ShoppingItem { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public byte Count; - public byte Count; - public String Label; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof ShoppingItem; - ShoppingItem shoppingItem = tempVar ? (ShoppingItem)obj : null; - return tempVar && this.equals(shoppingItem); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: return (this.Label.GetHashCode() * 397) ^ this.Count.GetHashCode(); - return (this.Label.hashCode() * 397) ^ (new Byte(this.Count)).hashCode(); - } - } - - private boolean equals(ShoppingItem other) { - return this.Label.equals(other.Label) && this.Count == other.Count; - } - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Todo - private final static class Todo { - public ArrayList Attendees; - public ArrayList Checkboxes; - public ArrayList>> Nested; - public ArrayList> Prices; - public ArrayList Projects; - public ArrayList Shopping; - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: public List> Work; - public ArrayList> Work; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - boolean tempVar = obj instanceof Todo; - Todo todo = tempVar ? (Todo)obj : null; - return tempVar && this.equals(todo); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = 0; - hashCode = (hashCode * 397) ^ (this.Attendees == null ? null : this.Attendees.hashCode() != null ? this.Attendees.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Projects == null ? null : this.Projects.hashCode() != null ? this.Projects.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Checkboxes == null ? null : this.Checkboxes.hashCode() != null ? this.Checkboxes.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Prices == null ? null : this.Prices.hashCode() != null ? this.Prices.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Nested == null ? null : this.Nested.hashCode() != null ? this.Nested.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Shopping == null ? null : this.Shopping.hashCode() != null ? this.Shopping.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Work == null ? null : this.Work.hashCode() != null ? this.Work.hashCode() : 0); - return hashCode; - } - } - - private static boolean NestedNestedSetEquals(ArrayList>> left, ArrayList>> right) { - if (left.size() != right.size()) { - return false; - } - - for (int i = 0; i < left.size(); i++) { - if (!Todo.NestedSetEquals(left.get(i), right.get(i))) { - return false; - } - } - - return true; - } - - private static boolean NestedSetEquals(ArrayList> left, ArrayList> right) { - if (left.size() != right.size()) { - return false; - } - - for (int i = 0; i < left.size(); i++) { - if (!Todo.SetEquals(left.get(i), right.get(i))) { - return false; - } - } - - return true; - } - - private static boolean SetEquals(ArrayList left, ArrayList right) { - if (left.size() != right.size()) { - return false; - } - - for (T item : left) { - if (!right.contains(item)) { - return false; - } - } - - return true; - } - - private boolean equals(Todo other) { - return (this.Attendees == other.Attendees || ((this.Attendees != null) && (other.Attendees != null) && Todo.SetEquals(this.Attendees, other.Attendees))) && (this.Projects == other.Projects || ((this.Projects != null) && (other.Projects != null) && Todo.SetEquals(this.Projects, other.Projects))) && (this.Checkboxes == other.Checkboxes || ((this.Checkboxes != null) && (other.Checkboxes != null) && Todo.SetEquals(this.Checkboxes, other.Checkboxes))) && (this.Prices == other.Prices || ((this.Prices != null) && (other.Prices != null) && Todo.NestedSetEquals(this.Prices, other.Prices))) && (this.Nested == other.Nested || ((this.Nested != null) && (other.Nested != null) && Todo.NestedNestedSetEquals(this.Nested, other.Nested))) && (this.Shopping == other.Shopping || ((this.Shopping != null) && (other.Shopping != null) && Todo.SetEquals(this.Shopping, other.Shopping))) && (this.Work == other.Work || ((this.Work != null) && (other.Work != null) && Todo.SetEquals(this.Work, other.Work))); - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.HybridRowVersion; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutColumn; + +import java.nio.file.Files; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass][DeploymentItem(TypedSetUnitTests.SchemaFile, "TestData")] public sealed class +// TypedSetUnitTests +public final class TypedSetUnitTests { + private static final int InitialRowSize = 2 * 1024 * 1024; + private static final String SchemaFile = "TestData\\TodoSchema.json"; + private Namespace counterSchema; + private Layout layout; + private LayoutResolver resolver; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void CreateTodos() + public void CreateTodos() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + Todo t1 = new Todo(); + t1.Attendees = new ArrayList(Arrays.asList("jason", "janice", "joshua")); + t1.Projects = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"), + UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2-1A2D-4EAF-8F33" + + "-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); + t1.Checkboxes = new ArrayList(Arrays.asList(true, false)); + t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)), + new ArrayList(Arrays.asList(4.1F, 5.7F)), new ArrayList(Arrays.asList(7.3F, 8.12F, 9.14F)))); + t1.Nested = + new ArrayList>>(Arrays.asList(new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1, 2)))), new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(3, 4)))), new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(5, 6)))))); + ShoppingItem tempVar = new ShoppingItem(); + tempVar.Label = "milk"; + tempVar.Count = 1; + ShoppingItem tempVar2 = new ShoppingItem(); + tempVar2.Label = "broccoli"; + tempVar2.Count = 2; + ShoppingItem tempVar3 = new ShoppingItem(); + tempVar3.Label = "steak"; + tempVar3.Count = 6; + t1.Shopping = new ArrayList(Arrays.asList(tempVar, tempVar2, tempVar3)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: t1.Work = new List> { Tuple.Create(false, 10000UL), Tuple.Create(true, + // 49053UL), Tuple.Create(false, 53111UL)}; + t1.Work = new ArrayList>(Arrays.asList(Tuple.Create(false, 10000), Tuple.Create(true, + 49053), Tuple.Create(false, 53111))); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + Reference tempReference_row4 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + Todo t2 = this.ReadTodo(tempReference_row3, RowCursor.create(tempReference_row4, out _)); + row = tempReference_row4.get(); + row = tempReference_row3.get(); + assert t1 == t2; + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindAndDelete() + public void FindAndDelete() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + + "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + + "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); + + for (java.lang.Iterable permutation : expected.Permute()) { + Todo t1 = new Todo(); + t1.Projects = new ArrayList(permutation); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + // Attempt to update each item in turn and then update it with itself. + Reference tempReference_row3 = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("projects", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor setScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out setScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); + row = tempReference_row5.get(); + for (UUID p : t1.Projects) { + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, + ref tempCursor, p)); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, + out findScope)); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row9, + ref findScope)); + row = tempReference_row9.get(); + } + } + + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void FindInSet() + public void FindInSet() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + Todo t1 = new Todo(); + t1.Attendees = new ArrayList(Arrays.asList("jason", "janice", "joshua")); + t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)), + new ArrayList(Arrays.asList(4.1F, 5.7F)), new ArrayList(Arrays.asList(7.3F, 8.12F, 9.14F)))); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + // Attempt to find each item in turn. + Reference tempReference_row3 = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("attendees", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor setScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); + row = tempReference_row5.get(); + for (int i = 0; i < t1.Attendees.size(); i++) { + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, + t1.Attendees.get(i))); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, + out findScope)); + row = tempReference_row8.get(); + Assert.AreEqual(i, findScope.Index, String.format("Failed to find t1.Attendees[%1$s]", i)); + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("prices", out c); + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row9, c.Path); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row10, ref setScope, out setScope)); + row = tempReference_row10.get(); + TypeArgument innerType = c.TypeArgs[0]; + TypeArgument itemType = innerType.getTypeArgs().get(0).clone(); + LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); + for (int i = 0; i < t1.Prices.size(); i++) { + Reference tempReference_row11 = + new Reference(row); + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out tempCursor1).Find(tempReference_row11, Utf8String.Empty); + row = tempReference_row11.get(); + Reference tempReference_row12 = + new Reference(row); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row12, ref tempCursor1, + innerType.getTypeArgs().clone(), out innerScope)); + row = tempReference_row12.get(); + for (int j = 0; j < t1.Prices.get(i).size(); j++) { + Reference tempReference_row13 = + new Reference(row); + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor2).Find(tempReference_row13, "prices.0.0"); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteSparse(tempReference_row14, + tempReference_tempCursor2, t1.Prices.get(i).get(j))); + tempCursor2 = tempReference_tempCursor2.get(); + row = tempReference_row14.get(); + Reference tempReference_row15 = + new Reference(row); + Reference tempReference_innerScope = + new Reference(innerScope); + Reference tempReference_tempCursor22 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row15, tempReference_innerScope, + tempReference_tempCursor22)); + tempCursor2 = tempReference_tempCursor22.get(); + innerScope = tempReference_innerScope.get(); + row = tempReference_row15.get(); + } + + Reference tempReference_row16 = + new Reference(row); + RowCursor findScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row16, ref setScope, ref tempCursor1, + out findScope)); + row = tempReference_row16.get(); + Assert.AreEqual(i, findScope.Index, String.format("Failed to find t1.Prices[%1$s]", i)); + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestInitialize] public void ParseNamespaceExample() + public void ParseNamespaceExample() { + String json = Files.readString(TypedSetUnitTests.SchemaFile); + this.counterSchema = Namespace.Parse(json); + this.resolver = new LayoutResolverNamespace(this.counterSchema); + this.layout = this.resolver.Resolve(tangible.ListHelper.find(this.counterSchema.getSchemas(), + x -> x.Name.equals("Todo")).SchemaId); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUniquenessViolations() + public void PreventUniquenessViolations() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + Todo t1 = new Todo(); + t1.Attendees = new ArrayList(Arrays.asList("jason")); + t1.Projects = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5-0421EE36F168}"))); + t1.Prices = new ArrayList>(Arrays.asList(new ArrayList(Arrays.asList(1.2F, 3.0F)))); + ShoppingItem tempVar = new ShoppingItem(); + tempVar.Label = "milk"; + tempVar.Count = 1; + t1.Shopping = new ArrayList(Arrays.asList(tempVar)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: t1.Work = new List> { Tuple.Create(false, 10000UL)}; + t1.Work = new ArrayList>(Arrays.asList(Tuple.Create(false, 10000))); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + // Attempt to insert duplicate items in existing sets. + Reference tempReference_row3 = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("attendees", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor setScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, + t1.Attendees.get(0))); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row8, ref setScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row10, ref tempCursor, + t1.Attendees.get(0))); + row = tempReference_row10.get(); + Reference tempReference_row11 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row11, ref setScope, ref tempCursor, out _)); + row = tempReference_row11.get(); + Reference tempReference_row12 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row12, Utf8String.Empty); + row = tempReference_row12.get(); + Reference tempReference_row13 = + new Reference(row); + String _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.NotFound(c.TypeArgs[0].Type.TypeAs().ReadSparse(tempReference_row13, ref tempCursor, out _)); + row = tempReference_row13.get(); + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("projects", out c); + Reference tempReference_row14 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row14, c.Path); + row = tempReference_row14.get(); + Reference tempReference_row15 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row15, ref setScope, out setScope)); + row = tempReference_row15.get(); + Reference tempReference_row16 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row16, Utf8String.Empty); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row17, ref tempCursor, + t1.Projects.get(0))); + row = tempReference_row17.get(); + Reference tempReference_row18 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row18, ref setScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row18.get(); + + // Attempt to move a duplicate set into a set of sets. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("prices", out c); + Reference tempReference_row19 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row19, c.Path); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row20, ref setScope, out setScope)); + row = tempReference_row20.get(); + TypeArgument innerType = c.TypeArgs[0]; + LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); + Reference tempReference_row21 = + new Reference(row); + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor1).Find(tempReference_row21, Utf8String.Empty); + row = tempReference_row21.get(); + Reference tempReference_row22 = + new Reference(row); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row22, ref tempCursor1, innerType.getTypeArgs().clone() + , out innerScope)); + row = tempReference_row22.get(); + for (float innerItem : t1.Prices.get(0)) { + LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); + Reference tempReference_row23 = + new Reference(row); + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out tempCursor2).Find(tempReference_row23, "prices.0.0"); + row = tempReference_row23.get(); + Reference tempReference_row24 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(itemLayout.WriteSparse(tempReference_row24, tempReference_tempCursor2, innerItem)); + tempCursor2 = tempReference_tempCursor2.get(); + row = tempReference_row24.get(); + Reference tempReference_row25 = + new Reference(row); + Reference tempReference_innerScope = + new Reference(innerScope); + Reference tempReference_tempCursor22 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row25, tempReference_innerScope, tempReference_tempCursor22)); + tempCursor2 = tempReference_tempCursor22.get(); + innerScope = tempReference_innerScope.get(); + row = tempReference_row25.get(); + } + + Reference tempReference_row26 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row26, ref setScope, ref tempCursor1, + UpdateOptions.Insert)); + row = tempReference_row26.get(); + + // Attempt to move a duplicate UDT into a set of UDT. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("shopping", out c); + Reference tempReference_row27 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row27, c.Path); + row = tempReference_row27.get(); + Reference tempReference_row28 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row28, ref setScope, out setScope)); + row = tempReference_row28.get(); + LayoutUDT udtLayout = c.TypeArgs[0].Type.TypeAs(); + Reference tempReference_row29 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row29, Utf8String.Empty); + row = tempReference_row29.get(); + Reference tempReference_row30 = + new Reference(row); + Reference tempReference_tempCursor = + new Reference(tempCursor); + RowCursor udtScope; + Out tempOut_udtScope = + new Out(); + ResultAssert.IsSuccess(udtLayout.WriteScope(tempReference_row30, tempReference_tempCursor, c.TypeArgs[0].TypeArgs, + tempOut_udtScope)); + udtScope = tempOut_udtScope.get(); + tempCursor = tempReference_tempCursor.get(); + row = tempReference_row30.get(); + Reference tempReference_row31 = + new Reference(row); + Reference tempReference_udtScope = + new Reference(udtScope); + TypedSetUnitTests.WriteShoppingItem(tempReference_row31, tempReference_udtScope, c.TypeArgs[0].TypeArgs, + t1.Shopping.get(0)); + udtScope = tempReference_udtScope.get(); + row = tempReference_row31.get(); + Reference tempReference_row32 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row32, ref setScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row32.get(); + + // Attempt to move a duplicate tuple into a set of tuple. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("work", out c); + Reference tempReference_row33 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out setScope).Find(tempReference_row33, c.Path); + row = tempReference_row33.get(); + Reference tempReference_row34 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row34, ref setScope, out setScope)); + row = tempReference_row34.get(); + innerType = c.TypeArgs[0]; + LayoutIndexedScope tupleLayout = innerType.getType().TypeAs(); + Reference tempReference_row35 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.Clone(out tempCursor).Find(tempReference_row35, Utf8String.Empty); + row = tempReference_row35.get(); + Reference tempReference_row36 = + new Reference(row); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(tupleLayout.WriteScope(tempReference_row36, ref tempCursor, innerType.getTypeArgs().clone(), + out tupleScope)); + row = tempReference_row36.get(); + Reference tempReference_row37 = + new Reference(row); + Reference tempReference_tupleScope = + new Reference(tupleScope); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(tempReference_row37, tempReference_tupleScope, t1.Work.get(0).Item1)); + tupleScope = tempReference_tupleScope.get(); + row = tempReference_row37.get(); + Reference tempReference_row38 = + new Reference(row); + assert tupleScope.MoveNext(tempReference_row38); + row = tempReference_row38.get(); + Reference tempReference_row39 = + new Reference(row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(tempReference_row39, tempReference_tupleScope2, t1.Work.get(0).Item2)); + tupleScope = tempReference_tupleScope2.get(); + row = tempReference_row39.get(); + Reference tempReference_row40 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row40, ref setScope, ref tempCursor, + UpdateOptions.Insert)); + row = tempReference_row40.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void PreventUpdatesInNonUpdatableScope() + public void PreventUpdatesInNonUpdatableScope() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + // Write a set and then try to write directly into it. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("attendees", out c); + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor setScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row, out setScope).Find(tempReference_row2, c.Path); + row = tempReference_row2.get(); + row = tempReference_row.get(); + Reference tempReference_row3 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row3, ref setScope, c.TypeArgs, + out setScope)); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row4, + ref setScope, "foo")); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row5, out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + row = tempReference_row5.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, ref tempCursor, "foo" + )); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row8, ref setScope, ref tempCursor)); + row = tempReference_row8.get(); + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.InsufficientPermissions(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row9, + ref setScope, "foo")); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().DeleteSparse(tempReference_row10, ref setScope)); + row = tempReference_row10.get(); + + // Write a set of sets, successfully insert an empty set into it, and then try to write directly to the inner + // set. + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("prices", out c); + Reference tempReference_row11 = + new Reference(row); + Reference tempReference_row12 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row11, out setScope).Find(tempReference_row12, c.Path); + row = tempReference_row12.get(); + row = tempReference_row11.get(); + Reference tempReference_row13 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(tempReference_row13, ref setScope, c.TypeArgs, + out setScope)); + row = tempReference_row13.get(); + TypeArgument innerType = c.TypeArgs[0]; + TypeArgument itemType = innerType.getTypeArgs().get(0).clone(); + LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); + Reference tempReference_row14 = + new Reference(row); + Reference tempReference_row15 = + new Reference(row); + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row14, out tempCursor1).Find(tempReference_row15, "prices.0"); + row = tempReference_row15.get(); + row = tempReference_row14.get(); + Reference tempReference_row16 = + new Reference(row); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(tempReference_row16, ref tempCursor1, innerType.getTypeArgs().clone() + , out innerScope)); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + Reference tempReference_row18 = + new Reference(row); + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + RowCursor.create(tempReference_row17, out tempCursor2).Find(tempReference_row18, "prices.0.0"); + row = tempReference_row18.get(); + row = tempReference_row17.get(); + Reference tempReference_row19 = + new Reference(row); + Reference tempReference_tempCursor2 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(itemType.getType().TypeAs().WriteSparse(tempReference_row19, + tempReference_tempCursor2, 1.0F)); + tempCursor2 = tempReference_tempCursor2.get(); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + Reference tempReference_innerScope = + new Reference(innerScope); + Reference tempReference_tempCursor22 = + new Reference(tempCursor2); + ResultAssert.IsSuccess(innerLayout.MoveField(tempReference_row20, tempReference_innerScope, tempReference_tempCursor22)); + tempCursor2 = tempReference_tempCursor22.get(); + innerScope = tempReference_innerScope.get(); + row = tempReference_row20.get(); + Reference tempReference_row21 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row21, ref setScope, ref tempCursor1)); + row = tempReference_row21.get(); + Reference tempReference_row22 = + new Reference(row); + assert setScope.MoveNext(tempReference_row22); + row = tempReference_row22.get(); + Reference tempReference_row23 = + new Reference(row); + Reference tempReference_setScope = + new Reference(setScope); + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(tempReference_row23, tempReference_setScope, tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + setScope = tempReference_setScope.get(); + row = tempReference_row23.get(); + Reference tempReference_row24 = + new Reference(row); + Reference tempReference_innerScope2 = + new Reference(innerScope); + ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().WriteSparse(tempReference_row24, + tempReference_innerScope2, 1.0F)); + innerScope = tempReference_innerScope2.get(); + row = tempReference_row24.get(); + Reference tempReference_row25 = + new Reference(row); + Reference tempReference_innerScope3 = + new Reference(innerScope); + ResultAssert.InsufficientPermissions(itemType.getType().TypeAs().DeleteSparse(tempReference_row25, + tempReference_innerScope3)); + innerScope = tempReference_innerScope3.get(); + row = tempReference_row25.get(); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void RowWriterTest() + public void RowWriterTest() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + + ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + + "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + + "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); + + for (java.lang.Iterable permutation : expected.Permute()) { + Todo t1 = new Todo(); + t1.Projects = new ArrayList(permutation); + + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + Reference tempReference_row = + new Reference(row); + ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, t1, TypedSetUnitTests.SerializeTodo)); + row = tempReference_row.get(); + + // Update the existing Set by updating each item with itself. This ensures that the RowWriter has + // maintained the unique index correctly. + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("projects", out c); + Reference tempReference_row2 = + new Reference(row); + RowCursor root; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + RowCursor.create(tempReference_row2, out root); + row = tempReference_row2.get(); + Reference tempReference_row3 = + new Reference(row); + RowCursor projScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out projScope).Find(tempReference_row3, c.Path); + row = tempReference_row3.get(); + Reference tempReference_row4 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row4, ref projScope, out projScope)); + row = tempReference_row4.get(); + for (UUID item : t1.Projects) { + Reference tempReference_row5 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row5, Utf8String.Empty); + row = tempReference_row5.get(); + Reference tempReference_row6 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row6, + ref tempCursor, item)); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row7, ref projScope, + ref tempCursor)); + row = tempReference_row7.get(); + } + + Reference tempReference_row8 = + new Reference(row); + Reference tempReference_row9 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + Todo t2 = this.ReadTodo(tempReference_row8, RowCursor.create(tempReference_row9, out _)); + row = tempReference_row9.get(); + row = tempReference_row8.get(); + assert t1 == t2; + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateInSet() + public void UpdateInSet() { + RowBuffer row = new RowBuffer(TypedSetUnitTests.InitialRowSize); + row.initLayout(HybridRowVersion.V1, this.layout, this.resolver); + + ArrayList expected = new ArrayList(Arrays.asList(UUID.fromString("{4674962B-CE11-4916-81C5" + + "-0421EE36F168}"), UUID.fromString("{7499C40E-7077-45C1-AE5F-3E384966B3B9}"), UUID.fromString("{B7BC39C2" + + "-1A2D-4EAF-8F33-ED976872D876}"), UUID.fromString("{DEA71ABE-3041-4CAF-BBD9-1A46D10832A0}"))); + + for (java.lang.Iterable permutation : expected.Permute()) { + Todo t1 = new Todo(); + t1.Projects = new ArrayList(permutation); + + Reference tempReference_row = + new Reference(row); + Reference tempReference_row2 = + new Reference(row); + RowCursor _; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + this.WriteTodo(tempReference_row, RowCursor.create(tempReference_row2, out _), t1); + row = tempReference_row2.get(); + row = tempReference_row.get(); + + // Attempt to find each item in turn and then delete it. + Reference tempReference_row3 = + new Reference(row); + RowCursor root = RowCursor.create(tempReference_row3); + row = tempReference_row3.get(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert this.layout.TryFind("projects", out c); + Reference tempReference_row4 = + new Reference(row); + RowCursor setScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.Clone(out setScope).Find(tempReference_row4, c.Path); + row = tempReference_row4.get(); + Reference tempReference_row5 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().ReadScope(tempReference_row5, ref setScope, out setScope)); + row = tempReference_row5.get(); + for (UUID elm : t1.Projects) { + // Verify it is already there. + Reference tempReference_row6 = + new Reference(row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row6, Utf8String.Empty); + row = tempReference_row6.get(); + Reference tempReference_row7 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row7, + ref tempCursor, elm)); + row = tempReference_row7.get(); + Reference tempReference_row8 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: C# to Java Converter could not resolve the named parameters in the + // following line: + //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeAs().Find(ref row, ref setScope, ref + // tempCursor, value: out RowCursor _)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().Find(tempReference_row8, ref setScope, ref tempCursor, + value: + out RowCursor _)) + row = tempReference_row8.get(); + + // Insert it again with update. + Reference tempReference_row9 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row9, Utf8String.Empty); + row = tempReference_row9.get(); + Reference tempReference_row10 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row10, + ref tempCursor, elm)); + row = tempReference_row10.get(); + Reference tempReference_row11 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row11, ref setScope, + ref tempCursor, UpdateOptions.Update)); + row = tempReference_row11.get(); + + // Insert it again with upsert. + Reference tempReference_row12 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row12, Utf8String.Empty); + row = tempReference_row12.get(); + Reference tempReference_row13 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row13, + ref tempCursor, elm)); + row = tempReference_row13.get(); + Reference tempReference_row14 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeAs().MoveField(tempReference_row14, ref setScope, + ref tempCursor)); + row = tempReference_row14.get(); + + // Insert it again with insert (fail: exists). + Reference tempReference_row15 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row15, Utf8String.Empty); + row = tempReference_row15.get(); + Reference tempReference_row16 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row16, + ref tempCursor, elm)); + row = tempReference_row16.get(); + Reference tempReference_row17 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.Exists(c.typeAs().MoveField(tempReference_row17, ref setScope, + ref tempCursor, UpdateOptions.Insert)); + row = tempReference_row17.get(); + + // Insert it again with insert at (fail: disallowed). + Reference tempReference_row18 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.Clone(out tempCursor).Find(tempReference_row18, Utf8String.Empty); + row = tempReference_row18.get(); + Reference tempReference_row19 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().WriteSparse(tempReference_row19, + ref tempCursor, elm)); + row = tempReference_row19.get(); + Reference tempReference_row20 = + new Reference(row); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.TypeConstraint(c.typeAs().MoveField(tempReference_row20, ref setScope, + ref tempCursor, UpdateOptions.InsertAt)); + row = tempReference_row20.get(); + } + } + } + + private static ShoppingItem ReadShoppingItem(Reference row, Reference matchScope) { + Layout matchLayout = matchScope.get().getLayout(); + ShoppingItem m = new ShoppingItem(); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("label", out c); + Out tempOut_Label = new Out(); + ResultAssert.IsSuccess(c.typeAs().ReadVariable(row, matchScope, c, tempOut_Label)); + m.Label = tempOut_Label.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("count", out c); + Out tempOut_Count = new Out(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ResultAssert.IsSuccess(c.TypeAs().ReadFixed(ref row, ref matchScope, c, out m.Count)); + ResultAssert.IsSuccess(c.typeAs().ReadFixed(row, matchScope, c, tempOut_Count)); + m.Count = tempOut_Count.get(); + return m; + } + + private Todo ReadTodo(Reference row, Reference root) { + Todo value = new Todo(); + + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("attendees", out c); + RowCursor tagsScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out tagsScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref tagsScope, out tagsScope) == Result.SUCCESS) { + value.Attendees = new ArrayList(); + while (tagsScope.MoveNext(row)) { + String item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref tagsScope, + out item)); + value.Attendees.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("projects", out c); + RowCursor projScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out projScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref projScope, out projScope) == Result.SUCCESS) { + value.Projects = new ArrayList(); + while (projScope.MoveNext(row)) { + java.util.UUID item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref projScope, + out item)); + value.Projects.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("checkboxes", out c); + RowCursor checkboxScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out checkboxScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref checkboxScope, out checkboxScope) == Result.SUCCESS) { + value.Checkboxes = new ArrayList(); + while (checkboxScope.MoveNext(row)) { + boolean item; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.TypeArgs[0].Type.TypeAs().ReadSparse(row, ref checkboxScope, + out item)); + value.Checkboxes.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("prices", out c); + RowCursor pricesScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out pricesScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref pricesScope, out pricesScope) == Result.SUCCESS) { + value.Prices = new ArrayList>(); + TypeArgument innerType = c.TypeArgs[0]; + LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); + while (pricesScope.MoveNext(row)) { + ArrayList item = new ArrayList(); + Reference tempReference_pricesScope = + new Reference(pricesScope); + RowCursor innerScope; + Out tempOut_innerScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_pricesScope, tempOut_innerScope)); + innerScope = tempOut_innerScope.get(); + pricesScope = tempReference_pricesScope.get(); + while (innerScope.MoveNext(row)) { + LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); + Reference tempReference_innerScope = + new Reference(innerScope); + float innerItem; + Out tempOut_innerItem = new Out(); + ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_innerScope, tempOut_innerItem)); + innerItem = tempOut_innerItem.get(); + innerScope = tempReference_innerScope.get(); + item.add(innerItem); + } + + value.Prices.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("nested", out c); + RowCursor nestedScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out nestedScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref nestedScope, out nestedScope) == Result.SUCCESS) { + value.Nested = new ArrayList>>(); + TypeArgument in2Type = c.TypeArgs[0]; + LayoutUniqueScope in2Layout = in2Type.getType().TypeAs(); + while (nestedScope.MoveNext(row)) { + ArrayList> item = new ArrayList>(); + Reference tempReference_nestedScope = + new Reference(nestedScope); + RowCursor in2Scope; + Out tempOut_in2Scope = + new Out(); + ResultAssert.IsSuccess(in2Layout.ReadScope(row, tempReference_nestedScope, tempOut_in2Scope)); + in2Scope = tempOut_in2Scope.get(); + nestedScope = tempReference_nestedScope.get(); + while (in2Scope.MoveNext(row)) { + TypeArgument in3Type = in2Type.getTypeArgs().get(0).clone(); + LayoutUniqueScope in3Layout = in3Type.getType().TypeAs(); + ArrayList item2 = new ArrayList(); + Reference tempReference_in2Scope = + new Reference(in2Scope); + RowCursor in3Scope; + Out tempOut_in3Scope = + new Out(); + ResultAssert.IsSuccess(in3Layout.ReadScope(row, tempReference_in2Scope, tempOut_in3Scope)); + in3Scope = tempOut_in3Scope.get(); + in2Scope = tempReference_in2Scope.get(); + while (in3Scope.MoveNext(row)) { + LayoutInt32 itemLayout = in3Type.getTypeArgs().get(0).getType().TypeAs(); + Reference tempReference_in3Scope = new Reference(in3Scope); + int innerItem; + Out tempOut_innerItem2 = new Out(); + ResultAssert.IsSuccess(itemLayout.ReadSparse(row, tempReference_in3Scope, tempOut_innerItem2)); + innerItem = tempOut_innerItem2.get(); + in3Scope = tempReference_in3Scope.get(); + item2.add(innerItem); + } + + item.add(item2); + } + + value.Nested.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("shopping", out c); + RowCursor shoppingScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out shoppingScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref shoppingScope, out shoppingScope) == Result.SUCCESS) { + value.Shopping = new ArrayList(); + while (shoppingScope.MoveNext(row)) { + TypeArgument innerType = c.TypeArgs[0]; + LayoutUDT innerLayout = innerType.getType().TypeAs(); + Reference tempReference_shoppingScope = + new Reference(shoppingScope); + RowCursor matchScope; + Out tempOut_matchScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_shoppingScope, tempOut_matchScope)); + matchScope = tempOut_matchScope.get(); + shoppingScope = tempReference_shoppingScope.get(); + Reference tempReference_matchScope = + new Reference(matchScope); + ShoppingItem item = TypedSetUnitTests.ReadShoppingItem(row, tempReference_matchScope); + matchScope = tempReference_matchScope.get(); + value.Shopping.add(item); + } + } + + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert this.layout.TryFind("work", out c); + RowCursor workScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + root.get().Clone(out workScope).Find(row, c.Path); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these cannot be converted using the 'Ref' helper class unless the method is within the code being modified: + if (c.typeAs().ReadScope(row, ref workScope, out workScope) == Result.SUCCESS) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: value.Work = new List>(); + value.Work = new ArrayList>(); + while (workScope.MoveNext(row)) { + TypeArgument innerType = c.TypeArgs[0]; + LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); + + Reference tempReference_workScope = new Reference(workScope); + RowCursor tupleScope; + Out tempOut_tupleScope = new Out(); + ResultAssert.IsSuccess(innerLayout.ReadScope(row, tempReference_workScope, tempOut_tupleScope)); + tupleScope = tempOut_tupleScope.get(); + workScope = tempReference_workScope.get(); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope = new Reference(tupleScope); + boolean item1; + Out tempOut_item1 = new Out(); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().ReadSparse(row, tempReference_tupleScope, tempOut_item1)); + item1 = tempOut_item1.get(); + tupleScope = tempReference_tupleScope.get(); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope2 = new Reference(tupleScope); + long item2; + Out tempOut_item2 = new Out(); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: ResultAssert.IsSuccess(innerType.TypeArgs[1].Type.TypeAs().ReadSparse(ref row, ref tupleScope, out ulong item2)); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().ReadSparse(row, tempReference_tupleScope2, tempOut_item2)); + item2 = tempOut_item2.get(); + tupleScope = tempReference_tupleScope2.get(); + value.Work.add(Tuple.Create(item1, item2)); + } + } + + return value; + } + + private static Result SerializeTodo(Reference writer, TypeArgument typeArg, Todo value) { + if (value.Projects != null) { + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + assert writer.get().getLayout().TryFind("projects", out c); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are + // not converted by C# to Java Converter: + Result r = writer.get().WriteScope("projects", c.TypeArg, value.Projects, (ref RowWriter writer2, + TypeArgument typeArg2, ArrayList value2) -> + { + for (UUID item : value2) { + ResultAssert.IsSuccess(writer2.WriteGuid(null, item)); + } + + return Result.SUCCESS; + }); + return r; + } + + return Result.SUCCESS; + } + + private static void WriteShoppingItem(Reference row, Reference matchScope, TypeArgumentList typeArgs, ShoppingItem m) { + Layout matchLayout = row.get().resolver().resolve(typeArgs.getSchemaId().clone()); + LayoutColumn c; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("label", out c); + ResultAssert.IsSuccess(c.typeAs().WriteVariable(row, matchScope, c, m.Label)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these cannot be converted using the 'Out' helper class unless the method is within the code being modified: + assert matchLayout.TryFind("count", out c); + ResultAssert.IsSuccess(c.typeAs().WriteFixed(row, matchScope, c, m.Count)); + } + + private void WriteTodo(Reference row, Reference root, Todo value) { + LayoutColumn c; + + if (value.Attendees != null) { + Out tempOut_c = + new Out(); + assert this.layout.TryFind("attendees", tempOut_c); + c = tempOut_c.get(); + RowCursor attendScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out attendScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref attendScope, + c.typeArgs().clone(), out attendScope)); + for (String item : value.Attendees) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, + ref tempCursor, item)); + Reference tempReference_attendScope = + new Reference(attendScope); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_attendScope, + tempReference_tempCursor)); + tempCursor = tempReference_tempCursor.get(); + attendScope = tempReference_attendScope.get(); + } + } + + if (value.Projects != null) { + Out tempOut_c2 = + new Out(); + assert this.layout.TryFind("projects", tempOut_c2); + c = tempOut_c2.get(); + RowCursor projScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out projScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref projScope, + c.typeArgs().clone(), out projScope)); + for (UUID item : value.Projects) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + Reference tempReference_tempCursor2 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, + tempReference_tempCursor2, item)); + tempCursor = tempReference_tempCursor2.get(); + Reference tempReference_projScope = + new Reference(projScope); + Reference tempReference_tempCursor3 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_projScope, + tempReference_tempCursor3)); + tempCursor = tempReference_tempCursor3.get(); + projScope = tempReference_projScope.get(); + } + } + + if (value.Checkboxes != null) { + Out tempOut_c3 = + new Out(); + assert this.layout.TryFind("checkboxes", tempOut_c3); + c = tempOut_c3.get(); + RowCursor checkboxScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out checkboxScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref checkboxScope, + c.typeArgs().clone(), out checkboxScope)); + for (boolean item : value.Checkboxes) { + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + Reference tempReference_tempCursor4 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeArgs().get(0).type().typeAs().WriteSparse(row, + tempReference_tempCursor4, item)); + tempCursor = tempReference_tempCursor4.get(); + Reference tempReference_checkboxScope = + new Reference(checkboxScope); + Reference tempReference_tempCursor5 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_checkboxScope, + tempReference_tempCursor5)); + tempCursor = tempReference_tempCursor5.get(); + checkboxScope = tempReference_checkboxScope.get(); + } + } + + if (value.Prices != null) { + Out tempOut_c4 = + new Out(); + assert this.layout.TryFind("prices", tempOut_c4); + c = tempOut_c4.get(); + RowCursor pricesScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out pricesScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref pricesScope, + c.typeArgs().clone(), out pricesScope)); + for (ArrayList item : value.Prices) { + assert item != null; + TypeArgument innerType = c.typeArgs().get(0).clone(); + LayoutUniqueScope innerLayout = innerType.getType().TypeAs(); + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor1).Find(row, "prices.0"); + RowCursor innerScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref tempCursor1, innerType.getTypeArgs().clone(), + out innerScope)); + for (float innerItem : item) { + LayoutFloat32 itemLayout = innerType.getTypeArgs().get(0).getType().TypeAs(); + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword + // - these cannot be converted using the 'Out' helper class unless the method is within the + // code being modified: + root.get().Clone(out tempCursor2).Find(row, "prices.0.0"); + Reference tempReference_tempCursor2 + = new Reference(tempCursor2); + ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_tempCursor2, innerItem)); + tempCursor2 = tempReference_tempCursor2.get(); + Reference tempReference_innerScope = + new Reference(innerScope); + Reference tempReference_tempCursor22 = new Reference(tempCursor2); + ResultAssert.IsSuccess(innerLayout.MoveField(row, tempReference_innerScope, tempReference_tempCursor22)); + tempCursor2 = tempReference_tempCursor22.get(); + innerScope = tempReference_innerScope.get(); + } + + Reference tempReference_pricesScope = + new Reference(pricesScope); + Reference tempReference_tempCursor1 = + new Reference(tempCursor1); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_pricesScope, + tempReference_tempCursor1)); + tempCursor1 = tempReference_tempCursor1.get(); + pricesScope = tempReference_pricesScope.get(); + } + } + + if (value.Nested != null) { + Out tempOut_c5 = + new Out(); + assert this.layout.TryFind("nested", tempOut_c5); + c = tempOut_c5.get(); + RowCursor nestedScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out nestedScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref nestedScope, + c.typeArgs().clone(), out nestedScope)); + for (ArrayList> item : value.Nested) { + assert item != null; + TypeArgument in2Type = c.typeArgs().get(0).clone(); + LayoutUniqueScope in2Layout = in2Type.getType().TypeAs(); + RowCursor tempCursor1; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor1).Find(row, "prices.0"); + RowCursor in2Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(in2Layout.WriteScope(row, ref tempCursor1, in2Type.getTypeArgs().clone(), + out in2Scope)); + for (ArrayList item2 : item) { + assert item2 != null; + TypeArgument in3Type = in2Type.getTypeArgs().get(0).clone(); + LayoutUniqueScope in3Layout = in3Type.getType().TypeAs(); + RowCursor tempCursor2; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword + // - these cannot be converted using the 'Out' helper class unless the method is within the + // code being modified: + root.get().Clone(out tempCursor2).Find(row, "prices.0.0"); + RowCursor in3Scope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword + // - these cannot be converted using the 'Out' helper class unless the method is within the + // code being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword + // - these cannot be converted using the 'Ref' helper class unless the method is within the + // code being modified: + ResultAssert.IsSuccess(in3Layout.WriteScope(row, ref tempCursor2, in3Type.getTypeArgs().clone(), + out in3Scope)); + for (int innerItem : item2) { + LayoutInt32 itemLayout = in3Type.getTypeArgs().get(0).getType().TypeAs(); + RowCursor tempCursor3; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' + // keyword - these cannot be converted using the 'Out' helper class unless the method + // is within the code being modified: + root.get().Clone(out tempCursor3).Find(row, "prices.0.0.0"); + Reference tempReference_tempCursor3 = new Reference(tempCursor3); + ResultAssert.IsSuccess(itemLayout.WriteSparse(row, tempReference_tempCursor3, innerItem)); + tempCursor3 = tempReference_tempCursor3.get(); + Reference tempReference_in3Scope = new Reference(in3Scope); + Reference tempReference_tempCursor32 = new Reference(tempCursor3); + ResultAssert.IsSuccess(in3Layout.MoveField(row, tempReference_in3Scope, tempReference_tempCursor32)); + tempCursor3 = tempReference_tempCursor32.get(); + in3Scope = tempReference_in3Scope.get(); + } + + Reference tempReference_in2Scope = + new Reference(in2Scope); + Reference tempReference_tempCursor23 = new Reference(tempCursor2); + ResultAssert.IsSuccess(in2Layout.MoveField(row, tempReference_in2Scope, tempReference_tempCursor23)); + tempCursor2 = tempReference_tempCursor23.get(); + in2Scope = tempReference_in2Scope.get(); + } + + Reference tempReference_nestedScope = + new Reference(nestedScope); + Reference tempReference_tempCursor12 = + new Reference(tempCursor1); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_nestedScope, + tempReference_tempCursor12)); + tempCursor1 = tempReference_tempCursor12.get(); + nestedScope = tempReference_nestedScope.get(); + } + } + + if (value.Shopping != null) { + Out tempOut_c6 = + new Out(); + assert this.layout.TryFind("shopping", tempOut_c6); + c = tempOut_c6.get(); + RowCursor shoppingScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out shoppingScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref shoppingScope, + c.typeArgs().clone(), out shoppingScope)); + for (ShoppingItem item : value.Shopping) { + TypeArgument innerType = c.typeArgs().get(0).clone(); + LayoutUDT innerLayout = innerType.getType().TypeAs(); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + Reference tempReference_tempCursor6 = + new Reference(tempCursor); + RowCursor itemScope; + Out tempOut_itemScope = + new Out(); + ResultAssert.IsSuccess(innerLayout.WriteScope(row, tempReference_tempCursor6, + innerType.getTypeArgs().clone(), tempOut_itemScope)); + itemScope = tempOut_itemScope.get(); + tempCursor = tempReference_tempCursor6.get(); + Reference tempReference_itemScope = + new Reference(itemScope); + TypedSetUnitTests.WriteShoppingItem(row, tempReference_itemScope, innerType.getTypeArgs().clone(), item); + itemScope = tempReference_itemScope.get(); + Reference tempReference_shoppingScope = + new Reference(shoppingScope); + Reference tempReference_tempCursor7 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_shoppingScope, + tempReference_tempCursor7)); + tempCursor = tempReference_tempCursor7.get(); + shoppingScope = tempReference_shoppingScope.get(); + } + } + + if (value.Work != null) { + Out tempOut_c7 = + new Out(); + assert this.layout.TryFind("work", tempOut_c7); + c = tempOut_c7.get(); + RowCursor workScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + root.get().Clone(out workScope).Find(row, c.path()); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + ResultAssert.IsSuccess(c.typeAs().WriteScope(row, ref workScope, + c.typeArgs().clone(), out workScope)); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: foreach (Tuple item in value.Work) + for (Tuple item : value.Work) { + TypeArgument innerType = c.typeArgs().get(0).clone(); + LayoutIndexedScope innerLayout = innerType.getType().TypeAs(); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + root.get().Clone(out tempCursor).Find(row, Utf8String.Empty); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - + // these cannot be converted using the 'Out' helper class unless the method is within the code + // being modified: + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - + // these cannot be converted using the 'Ref' helper class unless the method is within the code + // being modified: + ResultAssert.IsSuccess(innerLayout.WriteScope(row, ref tempCursor, innerType.getTypeArgs().clone(), + out tupleScope)); + Reference tempReference_tupleScope = + new Reference(tupleScope); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(0).getType().TypeAs().WriteSparse(row, tempReference_tupleScope, item.Item1)); + tupleScope = tempReference_tupleScope.get(); + assert tupleScope.MoveNext(row); + Reference tempReference_tupleScope2 = + new Reference(tupleScope); + ResultAssert.IsSuccess(innerType.getTypeArgs().get(1).getType().TypeAs().WriteSparse(row, tempReference_tupleScope2, item.Item2)); + tupleScope = tempReference_tupleScope2.get(); + Reference tempReference_workScope = + new Reference(workScope); + Reference tempReference_tempCursor8 = + new Reference(tempCursor); + ResultAssert.IsSuccess(c.typeAs().MoveField(row, tempReference_workScope, + tempReference_tempCursor8)); + tempCursor = tempReference_tempCursor8.get(); + workScope = tempReference_workScope.get(); + } + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class ShoppingItem + private final static class ShoppingItem { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public byte Count; + public byte Count; + public String Label; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof ShoppingItem; + ShoppingItem shoppingItem = tempVar ? (ShoppingItem)obj : null; + return tempVar && this.equals(shoppingItem); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: return (this.Label.GetHashCode() * 397) ^ this.Count.GetHashCode(); + return (this.Label.hashCode() * 397) ^ (new Byte(this.Count)).hashCode(); + } + } + + private boolean equals(ShoppingItem other) { + return this.Label.equals(other.Label) && this.Count == other.Count; + } + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [SuppressMessage("Microsoft.StyleCop.CSharp.OrderingRules", "SA1401", Justification = "Test types.")] private sealed class Todo + private final static class Todo { + public ArrayList Attendees; + public ArrayList Checkboxes; + public ArrayList>> Nested; + public ArrayList> Prices; + public ArrayList Projects; + public ArrayList Shopping; + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: public List> Work; + public ArrayList> Work; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + boolean tempVar = obj instanceof Todo; + Todo todo = tempVar ? (Todo)obj : null; + return tempVar && this.equals(todo); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = 0; + hashCode = (hashCode * 397) ^ (this.Attendees == null ? null : this.Attendees.hashCode() != null ? this.Attendees.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Projects == null ? null : this.Projects.hashCode() != null ? this.Projects.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Checkboxes == null ? null : this.Checkboxes.hashCode() != null ? this.Checkboxes.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Prices == null ? null : this.Prices.hashCode() != null ? this.Prices.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Nested == null ? null : this.Nested.hashCode() != null ? this.Nested.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Shopping == null ? null : this.Shopping.hashCode() != null ? this.Shopping.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Work == null ? null : this.Work.hashCode() != null ? this.Work.hashCode() : 0); + return hashCode; + } + } + + private static boolean NestedNestedSetEquals(ArrayList>> left, ArrayList>> right) { + if (left.size() != right.size()) { + return false; + } + + for (int i = 0; i < left.size(); i++) { + if (!Todo.NestedSetEquals(left.get(i), right.get(i))) { + return false; + } + } + + return true; + } + + private static boolean NestedSetEquals(ArrayList> left, ArrayList> right) { + if (left.size() != right.size()) { + return false; + } + + for (int i = 0; i < left.size(); i++) { + if (!Todo.SetEquals(left.get(i), right.get(i))) { + return false; + } + } + + return true; + } + + private static boolean SetEquals(ArrayList left, ArrayList right) { + if (left.size() != right.size()) { + return false; + } + + for (T item : left) { + if (!right.contains(item)) { + return false; + } + } + + return true; + } + + private boolean equals(Todo other) { + return (this.Attendees == other.Attendees || ((this.Attendees != null) && (other.Attendees != null) && Todo.SetEquals(this.Attendees, other.Attendees))) && (this.Projects == other.Projects || ((this.Projects != null) && (other.Projects != null) && Todo.SetEquals(this.Projects, other.Projects))) && (this.Checkboxes == other.Checkboxes || ((this.Checkboxes != null) && (other.Checkboxes != null) && Todo.SetEquals(this.Checkboxes, other.Checkboxes))) && (this.Prices == other.Prices || ((this.Prices != null) && (other.Prices != null) && Todo.NestedSetEquals(this.Prices, other.Prices))) && (this.Nested == other.Nested || ((this.Nested != null) && (other.Nested != null) && Todo.NestedNestedSetEquals(this.Nested, other.Nested))) && (this.Shopping == other.Shopping || ((this.Shopping != null) && (other.Shopping != null) && Todo.SetEquals(this.Shopping, other.Shopping))) && (this.Work == other.Work || ((this.Work != null) && (other.Work != null) && Todo.SetEquals(this.Work, other.Work))); + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java index e29bd96..7e98583 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/UpdateOptionsUnitTests.java @@ -1,20 +1,20 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.serialization.hybridrow.RowOptions; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class UpdateOptionsUnitTests -public class UpdateOptionsUnitTests { - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateOptionsTest() - public final void UpdateOptionsTest() { - assert RowOptions.NONE.value() == UpdateOptions.None.getValue(); - assert RowOptions.UPDATE.value() == UpdateOptions.Update.getValue(); - assert RowOptions.INSERT.value() == UpdateOptions.Insert.getValue(); - assert RowOptions.UPSERT.value() == UpdateOptions.Upsert.getValue(); - assert RowOptions.INSERT_AT.value() == UpdateOptions.InsertAt.getValue(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.serialization.hybridrow.RowOptions; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class UpdateOptionsUnitTests +public class UpdateOptionsUnitTests { + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [TestMethod][Owner("jthunter")] public void UpdateOptionsTest() + public final void UpdateOptionsTest() { + assert RowOptions.NONE.value() == UpdateOptions.None.getValue(); + assert RowOptions.UPDATE.value() == UpdateOptions.Update.getValue(); + assert RowOptions.INSERT.value() == UpdateOptions.Insert.getValue(); + assert RowOptions.UPSERT.value() == UpdateOptions.Upsert.getValue(); + assert RowOptions.INSERT_AT.value() == UpdateOptions.InsertAt.getValue(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java index 7806383..003ed7e 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/WriteRowDispatcher.java @@ -1,247 +1,247 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; -import com.azure.data.cosmos.serialization.hybridrow.RowCursor; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedArray; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; - -import java.util.List; -import java.util.UUID; - -//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ -// from the original: -//ORIGINAL LINE: internal struct WriteRowDispatcher : IDispatcher -public final class WriteRowDispatcher implements IDispatcher { - - public , TValue> void Dispatch(Reference dispatcher, Reference field, LayoutColumn col, LayoutType t) { - Dispatch(dispatcher, field, col, t, null); - } - - //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: - //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor - // field, LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType - public , TValue> void Dispatch(Reference dispatcher, Reference field, LayoutColumn col, LayoutType t, TValue value) { - switch (col == null ? null : col.getStorage()) { - case Fixed: - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().writeFixed(tempReference_Row, field, col, value)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - break; - case Variable: - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().writeVariable(tempReference_Row2, field, col, value)); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - break; - default: - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - ResultAssert.IsSuccess(t.typeAs().writeSparse(tempReference_Row3, field, value)); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - break; - } - } - - public void DispatchArray(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor arrayScope; - Out tempOut_arrayScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), - tempOut_arrayScope)); - arrayScope = tempOut_arrayScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - List items = (List)value; - for (Object item : items) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), item); - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - arrayScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - } - } - - public void DispatchMap(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 2); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor mapScope; - Out tempOut_mapScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), - tempOut_mapScope)); - mapScope = tempOut_mapScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - Reference tempReference_mapScope = - new Reference(mapScope); - TypeArgument fieldType = t.typeAs().FieldType(tempReference_mapScope).clone(); - mapScope = tempReference_mapScope.get(); - List pairs = (List)value; - for (Object pair : pairs) { - String elmPath = UUID.NewGuid().toString(); - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - RowCursor.createForAppend(tempReference_Row2, out tempCursor); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref tempCursor, elmPath, fieldType.getType(), - fieldType.getTypeArgs().clone(), pair); - - // Move item into the map. - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - Reference tempReference_mapScope2 = - new Reference(mapScope); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(t.typeAs().MoveField(tempReference_Row3, tempReference_mapScope2, - tempReference_tempCursor)); - tempCursor = tempReference_tempCursor.get(); - mapScope = tempReference_mapScope2.get(); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - } - } - - public void DispatchNullable(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor nullableScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), - value != null, out nullableScope)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - if (value != null) { - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref nullableScope, null, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), value); - } - } - - public void DispatchObject(Reference dispatcher, - Reference scope) { - } - - public void DispatchSet(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() == 1); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor setScope; - Out tempOut_setScope = - new Out(); - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), - tempOut_setScope)); - setScope = tempOut_setScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - List items = (List)value; - for (Object item : items) { - String elmPath = UUID.NewGuid().toString(); - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - RowCursor tempCursor; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being - // modified: - RowCursor.createForAppend(tempReference_Row2, out tempCursor); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref tempCursor, elmPath, typeArgs.get(0).type(), - typeArgs.get(0).typeArgs().clone(), item); - - // Move item into the set. - Reference tempReference_Row3 = - new Reference(dispatcher.get().Row); - Reference tempReference_setScope = - new Reference(setScope); - Reference tempReference_tempCursor = - new Reference(tempCursor); - ResultAssert.IsSuccess(t.typeAs().MoveField(tempReference_Row3, tempReference_setScope, - tempReference_tempCursor)); - tempCursor = tempReference_tempCursor.get(); - setScope = tempReference_setScope.get(); - dispatcher.get().argValue.Row = tempReference_Row3.get(); - } - } - - public void DispatchTuple(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - checkArgument(typeArgs.count() >= 2); - - Reference tempReference_Row = - new Reference(dispatcher.get().Row); - RowCursor tupleScope; - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these - // cannot be converted using the 'Out' helper class unless the method is within the code being modified: - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), - out tupleScope)); - dispatcher.get().argValue.Row = tempReference_Row.get(); - - for (int i = 0; i < typeArgs.count(); i++) { - PropertyInfo valueAccessor = value.getClass().GetProperty(String.format("Item%1$s", i + 1)); - // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these - // cannot be converted using the 'Ref' helper class unless the method is within the code being - // modified: - dispatcher.get().LayoutCodeSwitch(ref tupleScope, null, typeArgs.get(i).type(), - typeArgs.get(i).typeArgs().clone(), valueAccessor.GetValue(value)); - Reference tempReference_Row2 = - new Reference(dispatcher.get().Row); - tupleScope.MoveNext(tempReference_Row2); - dispatcher.get().argValue.Row = tempReference_Row2.get(); - } - } - - public void DispatchUDT(Reference dispatcher, - Reference scope, LayoutType t, TypeArgumentList typeArgs, - Object value) { - Reference tempReference_Row = new Reference(dispatcher.get().Row); - RowCursor udtScope; - Out tempOut_udtScope = new Out(); - ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), tempOut_udtScope)); - udtScope = tempOut_udtScope.get(); - dispatcher.get().argValue.Row = tempReference_Row.get(); - IDispatchable valueDispatcher = value instanceof IDispatchable ? (IDispatchable)value : null; - assert valueDispatcher != null; - Reference tempReference_udtScope = new Reference(udtScope); - valueDispatcher.Dispatch(dispatcher, tempReference_udtScope); - udtScope = tempReference_udtScope.get(); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.RowBuffer; +import com.azure.data.cosmos.serialization.hybridrow.RowCursor; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypedArray; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; + +import java.util.List; +import java.util.UUID; + +//C# TO JAVA CONVERTER WARNING: Java does not allow user-defined value types. The behavior of this class may differ +// from the original: +//ORIGINAL LINE: internal struct WriteRowDispatcher : IDispatcher +public final class WriteRowDispatcher implements IDispatcher { + + public , TValue> void Dispatch(Reference dispatcher, Reference field, LayoutColumn col, LayoutType t) { + Dispatch(dispatcher, field, col, t, null); + } + + //C# TO JAVA CONVERTER NOTE: Java does not support optional parameters. Overloaded method(s) are created above: + //ORIGINAL LINE: public void Dispatch(ref RowOperationDispatcher dispatcher, ref RowCursor + // field, LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType + public , TValue> void Dispatch(Reference dispatcher, Reference field, LayoutColumn col, LayoutType t, TValue value) { + switch (col == null ? null : col.getStorage()) { + case Fixed: + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().writeFixed(tempReference_Row, field, col, value)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + break; + case Variable: + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().writeVariable(tempReference_Row2, field, col, value)); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + break; + default: + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + ResultAssert.IsSuccess(t.typeAs().writeSparse(tempReference_Row3, field, value)); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + break; + } + } + + public void DispatchArray(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor arrayScope; + Out tempOut_arrayScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), + tempOut_arrayScope)); + arrayScope = tempOut_arrayScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + List items = (List)value; + for (Object item : items) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref arrayScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), item); + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + arrayScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + } + } + + public void DispatchMap(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 2); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor mapScope; + Out tempOut_mapScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), + tempOut_mapScope)); + mapScope = tempOut_mapScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + Reference tempReference_mapScope = + new Reference(mapScope); + TypeArgument fieldType = t.typeAs().FieldType(tempReference_mapScope).clone(); + mapScope = tempReference_mapScope.get(); + List pairs = (List)value; + for (Object pair : pairs) { + String elmPath = UUID.NewGuid().toString(); + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + RowCursor.createForAppend(tempReference_Row2, out tempCursor); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref tempCursor, elmPath, fieldType.getType(), + fieldType.getTypeArgs().clone(), pair); + + // Move item into the map. + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + Reference tempReference_mapScope2 = + new Reference(mapScope); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(t.typeAs().MoveField(tempReference_Row3, tempReference_mapScope2, + tempReference_tempCursor)); + tempCursor = tempReference_tempCursor.get(); + mapScope = tempReference_mapScope2.get(); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + } + } + + public void DispatchNullable(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor nullableScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), + value != null, out nullableScope)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + if (value != null) { + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref nullableScope, null, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), value); + } + } + + public void DispatchObject(Reference dispatcher, + Reference scope) { + } + + public void DispatchSet(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() == 1); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor setScope; + Out tempOut_setScope = + new Out(); + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), + tempOut_setScope)); + setScope = tempOut_setScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + List items = (List)value; + for (Object item : items) { + String elmPath = UUID.NewGuid().toString(); + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + RowCursor tempCursor; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being + // modified: + RowCursor.createForAppend(tempReference_Row2, out tempCursor); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref tempCursor, elmPath, typeArgs.get(0).type(), + typeArgs.get(0).typeArgs().clone(), item); + + // Move item into the set. + Reference tempReference_Row3 = + new Reference(dispatcher.get().Row); + Reference tempReference_setScope = + new Reference(setScope); + Reference tempReference_tempCursor = + new Reference(tempCursor); + ResultAssert.IsSuccess(t.typeAs().MoveField(tempReference_Row3, tempReference_setScope, + tempReference_tempCursor)); + tempCursor = tempReference_tempCursor.get(); + setScope = tempReference_setScope.get(); + dispatcher.get().argValue.Row = tempReference_Row3.get(); + } + } + + public void DispatchTuple(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + checkArgument(typeArgs.count() >= 2); + + Reference tempReference_Row = + new Reference(dispatcher.get().Row); + RowCursor tupleScope; + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'out' keyword - these + // cannot be converted using the 'Out' helper class unless the method is within the code being modified: + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), + out tupleScope)); + dispatcher.get().argValue.Row = tempReference_Row.get(); + + for (int i = 0; i < typeArgs.count(); i++) { + PropertyInfo valueAccessor = value.getClass().GetProperty(String.format("Item%1$s", i + 1)); + // TODO: C# TO JAVA CONVERTER: The following method call contained an unresolved 'ref' keyword - these + // cannot be converted using the 'Ref' helper class unless the method is within the code being + // modified: + dispatcher.get().LayoutCodeSwitch(ref tupleScope, null, typeArgs.get(i).type(), + typeArgs.get(i).typeArgs().clone(), valueAccessor.GetValue(value)); + Reference tempReference_Row2 = + new Reference(dispatcher.get().Row); + tupleScope.MoveNext(tempReference_Row2); + dispatcher.get().argValue.Row = tempReference_Row2.get(); + } + } + + public void DispatchUDT(Reference dispatcher, + Reference scope, LayoutType t, TypeArgumentList typeArgs, + Object value) { + Reference tempReference_Row = new Reference(dispatcher.get().Row); + RowCursor udtScope; + Out tempOut_udtScope = new Out(); + ResultAssert.IsSuccess(t.typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(), tempOut_udtScope)); + udtScope = tempOut_udtScope.get(); + dispatcher.get().argValue.Row = tempReference_Row.get(); + IDispatchable valueDispatcher = value instanceof IDispatchable ? (IDispatchable)value : null; + assert valueDispatcher != null; + Reference tempReference_udtScope = new Reference(udtScope); + valueDispatcher.Dispatch(dispatcher, tempReference_udtScope); + udtScope = tempReference_udtScope.get(); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java index 35da44d..1886840 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Address.java @@ -1,47 +1,47 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import azure.data.cosmos.serialization.hybridrow.unit.*; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public final class Address { - public String City; - public PostalCode PostalCode; - public String State; - public String Street; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - return obj instanceof Address && this.equals((Address)obj); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = this.Street != null ? this.Street.hashCode() : 0; - hashCode = (hashCode * 397) ^ (this.City != null ? this.City.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.State != null ? this.State.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.PostalCode != null ? this.PostalCode.hashCode() : 0); - return hashCode; - } - } - - private boolean equals(Address other) { - return this.Street.equals(other.Street) && this.City.equals(other.City) && this.State.equals(other.State) && this.PostalCode.equals(other.PostalCode); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import azure.data.cosmos.serialization.hybridrow.unit.*; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public final class Address { + public String City; + public PostalCode PostalCode; + public String State; + public String Street; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + return obj instanceof Address && this.equals((Address)obj); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = this.Street != null ? this.Street.hashCode() : 0; + hashCode = (hashCode * 397) ^ (this.City != null ? this.City.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.State != null ? this.State.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.PostalCode != null ? this.PostalCode.hashCode() : 0); + return hashCode; + } + } + + private boolean equals(Address other) { + return this.Street.equals(other.Street) && this.City.equals(other.City) && this.State.equals(other.State) && this.PostalCode.equals(other.PostalCode); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java index 0c99320..dc3777f 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/AddressSerializer.java @@ -1,96 +1,96 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import azure.data.cosmos.serialization.hybridrow.unit.*; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; - -public final class AddressSerializer { - public static Result Read(Reference reader, Out
obj) { - obj.setAndGet(new Address()); - while (reader.get().read()) { - Result r; - switch (reader.get().path()) { - case "street": - Out tempOut_Street = new Out(); - r = reader.get().readUtf8String(tempOut_Street); - obj.get().argValue.Street = tempOut_Street.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "city": - Out tempOut_City = new Out(); - r = reader.get().readUtf8String(tempOut_City); - obj.get().argValue.City = tempOut_City.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "state": - Out tempOut_State = new Out(); - r = reader.get().readUtf8String(tempOut_State); - obj.get().argValue.State = tempOut_State.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "postal_code": - Reference tempReference_child = - new Reference(child); - Out tempOut_PostalCode = new Out(); - // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: - r = reader.get().readScope(obj.get(), (RowReader RowReader child, Address parent) -> PostalCodeSerializer.Read(tempReference_child, tempOut_PostalCode)); - parent.PostalCode = tempOut_PostalCode.get(); - child = tempReference_child.get(); - - if (r != Result.SUCCESS) { - return r; - } - - break; - } - } - - return Result.SUCCESS; - } - - public static Result Write(Reference writer, TypeArgument typeArg, Address obj) { - Result r; - if (obj.Street != null) { - r = writer.get().WriteString("street", obj.Street); - if (r != Result.SUCCESS) { - return r; - } - } - - if (obj.City != null) { - r = writer.get().WriteString("city", obj.City); - if (r != Result.SUCCESS) { - return r; - } - } - - if (obj.State != null) { - r = writer.get().WriteString("state", obj.State); - if (r != Result.SUCCESS) { - return r; - } - } - - if (obj.PostalCode != null) { - r = writer.get().WriteScope("postal_code", PostalCodeSerializer.TypeArg, obj.PostalCode, - PostalCodeSerializer.Write); - return r; - } - - return Result.SUCCESS; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import azure.data.cosmos.serialization.hybridrow.unit.*; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; + +public final class AddressSerializer { + public static Result Read(Reference reader, Out
obj) { + obj.setAndGet(new Address()); + while (reader.get().read()) { + Result r; + switch (reader.get().path()) { + case "street": + Out tempOut_Street = new Out(); + r = reader.get().readUtf8String(tempOut_Street); + obj.get().argValue.Street = tempOut_Street.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "city": + Out tempOut_City = new Out(); + r = reader.get().readUtf8String(tempOut_City); + obj.get().argValue.City = tempOut_City.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "state": + Out tempOut_State = new Out(); + r = reader.get().readUtf8String(tempOut_State); + obj.get().argValue.State = tempOut_State.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "postal_code": + Reference tempReference_child = + new Reference(child); + Out tempOut_PostalCode = new Out(); + // TODO: C# TO JAVA CONVERTER: The following lambda contained an unresolved 'ref' keyword - these are not converted by C# to Java Converter: + r = reader.get().readScope(obj.get(), (RowReader RowReader child, Address parent) -> PostalCodeSerializer.Read(tempReference_child, tempOut_PostalCode)); + parent.PostalCode = tempOut_PostalCode.get(); + child = tempReference_child.get(); + + if (r != Result.SUCCESS) { + return r; + } + + break; + } + } + + return Result.SUCCESS; + } + + public static Result Write(Reference writer, TypeArgument typeArg, Address obj) { + Result r; + if (obj.Street != null) { + r = writer.get().WriteString("street", obj.Street); + if (r != Result.SUCCESS) { + return r; + } + } + + if (obj.City != null) { + r = writer.get().WriteString("city", obj.City); + if (r != Result.SUCCESS) { + return r; + } + } + + if (obj.State != null) { + r = writer.get().WriteString("state", obj.State); + if (r != Result.SUCCESS) { + return r; + } + } + + if (obj.PostalCode != null) { + r = writer.get().WriteScope("postal_code", PostalCodeSerializer.TypeArg, obj.PostalCode, + PostalCodeSerializer.Write); + return r; + } + + return Result.SUCCESS; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java index a717e0a..9652290 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Guest.java @@ -1,94 +1,94 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import azure.data.cosmos.serialization.hybridrow.unit.*; - -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.UUID; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public final class Guest { - public Map Addresses; - public String ConfirmNumber; - public Set Emails; - public String FirstName; - public UUID Id; - public String LastName; - public List PhoneNumbers; - public String Title; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - return obj instanceof Guest && this.equals((Guest)obj); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = this.Id.hashCode(); - hashCode = (hashCode * 397) ^ (this.FirstName != null ? this.FirstName.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.LastName != null ? this.LastName.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Title != null ? this.Title.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Emails != null ? this.Emails.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.PhoneNumbers != null ? this.PhoneNumbers.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Addresses != null ? this.Addresses.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.ConfirmNumber != null ? this.ConfirmNumber.hashCode() : 0); - return hashCode; - } - } - - private static boolean DictionaryEquals(Map left, Map right) { - if (left == right) { - return true; - } - - if ((left == null) || (right == null)) { - return false; - } - - if (left.size() != right.size()) { - return false; - } - - for (Map.Entry p : left.entrySet()) { - TValue value; - if (!(right.containsKey(p.getKey()) && (value = right.get(p.getKey())) == value)) { - return false; - } - - if (!p.getValue().equals(value)) { - return false; - } - } - - return true; - } - - private boolean equals(Guest other) { - //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': - //ORIGINAL LINE: return this.Id.Equals(other.Id) && string.Equals(this.FirstName, other.FirstName) && string - // .Equals(this.LastName, other.LastName) && string.Equals(this.Title, other.Title) && string.Equals(this - // .ConfirmNumber, other.ConfirmNumber) && ((this.Emails == other.Emails) || ((this.Emails != null) && (other - // .Emails != null) && this.Emails.SetEquals(other.Emails))) && ((this.PhoneNumbers == other.PhoneNumbers) || - // ((this.PhoneNumbers != null) && (other.PhoneNumbers != null) && this.PhoneNumbers.SequenceEqual(other - // .PhoneNumbers))) && Guest.DictionaryEquals(this.Addresses, other.Addresses); - return this.Id.equals(other.Id) && this.FirstName.equals(other.FirstName) && this.LastName.equals(other.LastName) && this.Title.equals(other.Title) && this.ConfirmNumber.equals(other.ConfirmNumber) && ((this.Emails == other.Emails) || ((this.Emails != null) && (other.Emails != null) && this.Emails.equals(other.Emails))) && ((this.PhoneNumbers == other.PhoneNumbers) || ((this.PhoneNumbers != null) && (other.PhoneNumbers != null) && this.PhoneNumbers.equals(other.PhoneNumbers))) && Guest.DictionaryEquals(this.Addresses, other.Addresses); - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import azure.data.cosmos.serialization.hybridrow.unit.*; + +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.UUID; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public final class Guest { + public Map Addresses; + public String ConfirmNumber; + public Set Emails; + public String FirstName; + public UUID Id; + public String LastName; + public List PhoneNumbers; + public String Title; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + return obj instanceof Guest && this.equals((Guest)obj); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = this.Id.hashCode(); + hashCode = (hashCode * 397) ^ (this.FirstName != null ? this.FirstName.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.LastName != null ? this.LastName.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Title != null ? this.Title.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Emails != null ? this.Emails.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.PhoneNumbers != null ? this.PhoneNumbers.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Addresses != null ? this.Addresses.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.ConfirmNumber != null ? this.ConfirmNumber.hashCode() : 0); + return hashCode; + } + } + + private static boolean DictionaryEquals(Map left, Map right) { + if (left == right) { + return true; + } + + if ((left == null) || (right == null)) { + return false; + } + + if (left.size() != right.size()) { + return false; + } + + for (Map.Entry p : left.entrySet()) { + TValue value; + if (!(right.containsKey(p.getKey()) && (value = right.get(p.getKey())) == value)) { + return false; + } + + if (!p.getValue().equals(value)) { + return false; + } + } + + return true; + } + + private boolean equals(Guest other) { + //C# TO JAVA CONVERTER WARNING: Java AbstractList 'equals' is not always identical to LINQ 'SequenceEqual': + //ORIGINAL LINE: return this.Id.Equals(other.Id) && string.Equals(this.FirstName, other.FirstName) && string + // .Equals(this.LastName, other.LastName) && string.Equals(this.Title, other.Title) && string.Equals(this + // .ConfirmNumber, other.ConfirmNumber) && ((this.Emails == other.Emails) || ((this.Emails != null) && (other + // .Emails != null) && this.Emails.SetEquals(other.Emails))) && ((this.PhoneNumbers == other.PhoneNumbers) || + // ((this.PhoneNumbers != null) && (other.PhoneNumbers != null) && this.PhoneNumbers.SequenceEqual(other + // .PhoneNumbers))) && Guest.DictionaryEquals(this.Addresses, other.Addresses); + return this.Id.equals(other.Id) && this.FirstName.equals(other.FirstName) && this.LastName.equals(other.LastName) && this.Title.equals(other.Title) && this.ConfirmNumber.equals(other.ConfirmNumber) && ((this.Emails == other.Emails) || ((this.Emails != null) && (other.Emails != null) && this.Emails.equals(other.Emails))) && ((this.PhoneNumbers == other.PhoneNumbers) || ((this.PhoneNumbers != null) && (other.PhoneNumbers != null) && this.PhoneNumbers.equals(other.PhoneNumbers))) && Guest.DictionaryEquals(this.Addresses, other.Addresses); + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java index f6e7002..3dabf8e 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/Hotel.java @@ -1,50 +1,50 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import azure.data.cosmos.serialization.hybridrow.unit.*; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public final class Hotel { - public Address Address; - public String Id; - public String Name; - public String Phone; - - public boolean equals(Hotel other) { - return this.Id.equals(other.Id) && this.Name.equals(other.Name) && this.Phone.equals(other.Phone) && this.Address.equals(other.Address); - } - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - return obj instanceof Hotel && this.equals((Hotel)obj); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - int hashCode = this.Id == null ? null : this.Id.hashCode() != null ? this.Id.hashCode() : 0; - hashCode = (hashCode * 397) ^ (this.Name == null ? null : this.Name.hashCode() != null ? - this.Name.hashCode() : 0); - hashCode = (hashCode * 397) ^ (this.Phone == null ? null : this.Phone.hashCode() != null ? - this.Phone.hashCode() : 0); - int tempVar = this.Address.GetHashCode(); - hashCode = (hashCode * 397) ^ (this.Address == null ? null : tempVar != null ? tempVar : 0); - return hashCode; - } - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import azure.data.cosmos.serialization.hybridrow.unit.*; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public final class Hotel { + public Address Address; + public String Id; + public String Name; + public String Phone; + + public boolean equals(Hotel other) { + return this.Id.equals(other.Id) && this.Name.equals(other.Name) && this.Phone.equals(other.Phone) && this.Address.equals(other.Address); + } + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + return obj instanceof Hotel && this.equals((Hotel)obj); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + int hashCode = this.Id == null ? null : this.Id.hashCode() != null ? this.Id.hashCode() : 0; + hashCode = (hashCode * 397) ^ (this.Name == null ? null : this.Name.hashCode() != null ? + this.Name.hashCode() : 0); + hashCode = (hashCode * 397) ^ (this.Phone == null ? null : this.Phone.hashCode() != null ? + this.Phone.hashCode() : 0); + int tempVar = this.Address.GetHashCode(); + hashCode = (hashCode * 397) ^ (this.Address == null ? null : tempVar != null ? tempVar : 0); + return hashCode; + } + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java similarity index 96% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java index 2b1492a..458a72b 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCode.java @@ -1,41 +1,41 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import azure.data.cosmos.serialization.hybridrow.unit.*; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public final class PostalCode { - public Short Plus4; - public int Zip; - - @Override - public boolean equals(Object obj) { - if (null == obj) { - return false; - } - - if (this == obj) { - return true; - } - - return obj instanceof PostalCode && this.equals((PostalCode)obj); - } - - @Override - public int hashCode() { - // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: - unchecked - { - return (this.Zip * 397) ^ this.Plus4.hashCode(); - } - } - - private boolean equals(PostalCode other) { - return this.Zip == other.Zip && this.Plus4 == other.Plus4; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import azure.data.cosmos.serialization.hybridrow.unit.*; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public final class PostalCode { + public Short Plus4; + public int Zip; + + @Override + public boolean equals(Object obj) { + if (null == obj) { + return false; + } + + if (this == obj) { + return true; + } + + return obj instanceof PostalCode && this.equals((PostalCode)obj); + } + + @Override + public int hashCode() { + // TODO: C# TO JAVA CONVERTER: There is no equivalent to an 'unchecked' block in Java: + unchecked + { + return (this.Zip * 397) ^ this.Plus4.hashCode(); + } + } + + private boolean equals(PostalCode other) { + return this.Zip == other.Zip && this.Plus4 == other.Plus4; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java similarity index 97% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java index 8ce8579..9810b50 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/customerschema/PostalCodeSerializer.java @@ -1,69 +1,69 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; - -import com.azure.data.cosmos.core.Out; -import com.azure.data.cosmos.core.Reference; -import com.azure.data.cosmos.serialization.hybridrow.Result; -import com.azure.data.cosmos.serialization.hybridrow.SchemaId; -import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; -import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; -import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; -import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; -import azure.data.cosmos.serialization.hybridrow.unit.*; - -// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: -///#pragma warning disable SA1401 // Fields should be private - - -public final class PostalCodeSerializer { - public static TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(new SchemaId(1))); - - public static Result Read(Reference reader, Out obj) { - obj.setAndGet(new PostalCode()); - while (reader.get().read()) { - Result r; - switch (reader.get().path()) { - case "zip": - Out tempOut_Zip = new Out(); - r = reader.get().readInt32(tempOut_Zip); - obj.get().argValue.Zip = tempOut_Zip.get(); - if (r != Result.SUCCESS) { - return r; - } - - break; - case "plus4": - short value; - Out tempOut_value = new Out(); - r = reader.get().readInt16(tempOut_value); - value = tempOut_value.get(); - if (r != Result.SUCCESS) { - return r; - } - - obj.get().Plus4 = value; - break; - } - } - - return Result.SUCCESS; - } - - public static Result Write(Reference writer, TypeArgument typeArg, PostalCode obj) { - Result r; - r = writer.get().writeInt32("zip", obj.Zip); - if (r != Result.SUCCESS) { - return r; - } - - if (obj.Plus4.HasValue) { - r = writer.get().writeInt16("plus4", obj.Plus4.Value); - return r; - } - - return Result.SUCCESS; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.customerschema; + +import com.azure.data.cosmos.core.Out; +import com.azure.data.cosmos.core.Reference; +import com.azure.data.cosmos.serialization.hybridrow.Result; +import com.azure.data.cosmos.serialization.hybridrow.SchemaId; +import com.azure.data.cosmos.serialization.hybridrow.io.RowReader; +import com.azure.data.cosmos.serialization.hybridrow.io.RowWriter; +import com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutType; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgument; +import com.azure.data.cosmos.serialization.hybridrow.layouts.TypeArgumentList; +import azure.data.cosmos.serialization.hybridrow.unit.*; + +// TODO: C# TO JAVA CONVERTER: There is no preprocessor in Java: +///#pragma warning disable SA1401 // Fields should be private + + +public final class PostalCodeSerializer { + public static TypeArgument TypeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(new SchemaId(1))); + + public static Result Read(Reference reader, Out obj) { + obj.setAndGet(new PostalCode()); + while (reader.get().read()) { + Result r; + switch (reader.get().path()) { + case "zip": + Out tempOut_Zip = new Out(); + r = reader.get().readInt32(tempOut_Zip); + obj.get().argValue.Zip = tempOut_Zip.get(); + if (r != Result.SUCCESS) { + return r; + } + + break; + case "plus4": + short value; + Out tempOut_value = new Out(); + r = reader.get().readInt16(tempOut_value); + value = tempOut_value.get(); + if (r != Result.SUCCESS) { + return r; + } + + obj.get().Plus4 = value; + break; + } + } + + return Result.SUCCESS; + } + + public static Result Write(Reference writer, TypeArgument typeArg, PostalCode obj) { + Result r; + r = writer.get().writeInt32("zip", obj.Zip); + if (r != Result.SUCCESS) { + return r; + } + + if (obj.Plus4.HasValue) { + r = writer.get().writeInt16("plus4", obj.Plus4.Value); + return r; + } + + return Result.SUCCESS; + } } \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java similarity index 98% rename from java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java rename to java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java index 49e42de..c3ee6e0 100644 --- a/java/src/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java +++ b/java/exclusions/test/java/com/azure/data/cosmos/serialization/hybridrow/unit/internal/MurmurHash3UnitTests.java @@ -1,126 +1,126 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. - -package com.azure.data.cosmos.serialization.hybridrow.unit.internal; - -import com.azure.data.cosmos.serialization.hybridrow.internal.Murmur3Hash; - -import java.util.Random; - -// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: -//ORIGINAL LINE: [TestClass] public class MurmurHash3UnitTests -public class MurmurHash3UnitTests { - - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: private static readonly(ulong low, ulong high)[] Expected = new[] { (0x56F1549659CBEE1AUL, - // 0xCEB3EE124C3E3855UL), (0xFE84B58886F9D717UL, 0xD24C5DE024F5EA6BUL), (0x89F6250648BB11BFUL, - // 0x95595FB9D4CF58B0UL), (0xC76AFDB39EDC6262UL, 0xB9286AF4FADAF497UL), (0xC2CB4D9B3C9C247EUL, - // 0xB465D40116B8B7A2UL), (0x317178F5B26D0B35UL, 0x1D564F53E2E468ADUL), (0xE8D75F7C05F43F09UL, - // 0xA81CEA052AE92D6FUL), (0x8F837665508C08A8UL, 0x2A74E6E47E5497BCUL), (0x609778FDA1AFD731UL, - // 0x3EB1A0E3BFC653E4UL), (0x0F59B8965FA49D1AUL, 0xCB3BC158243A5DEEUL), (0x7A6D0AC9C98F5908UL, - // 0xBC93D3042C3E7178UL), (0x863FE5AEBA9A3DFAUL, 0xDF42416658CB87C5UL), (0xDB4C82337C8FB216UL, - // 0xCA7616B64ABF6B3DUL), (0x0049223177425B48UL, 0x25510D7246BC3C2CUL), (0x31AC129B24F82CABUL, - // 0xCD7174C2040E9834UL), (0xCE39465288116345UL, 0x1CE6A26BA2E9E67DUL), (0xD2BE55791E13DB17UL, - // 0xCF30BF3D93B3A9FAUL), (0x43E323DD0F079145UL, 0xF06721555571ABBAUL), (0xB0CE9F170A96F5BCUL, - // 0x18EE95960369D702UL), (0xBFFAF6BEBC84A2A9UL, 0xE0612B6FC0C9D502UL), (0x33E2D699697BC2DAUL, - // 0xB7E9CD6313DE05EEUL), (0xCBFD7D8DA2A962BFUL, 0xCF4C281A7750E88AUL), (0xBD8D863F83863088UL, - // 0x01AFFBDE3D405D35UL), (0xBA2E05DF3328C7DBUL, 0x9620867ADDFE6579UL), (0xC57BD1FB63CA0947UL, - // 0xE1391F8454D4EA9FUL), (0x6AB710460A5BF9BAUL, 0x11D7E13FBEF63775UL), (0x55C2C7C95F41C483UL, - // 0xA4DCC9F547A89563UL), (0x8AA5A2031027F216UL, 0x1653FC7AD6CC6104UL), (0xAD8A899FF093D9A5UL, - // 0x0EB26F6D1CCEB258UL), (0xA3B6D57EBEB965D1UL, 0xE8078FCC5D8C2E3EUL), (0x91ABF587B38224F6UL, - // 0x35899665A8A9252CUL), (0xF05B1AF0487EE2D4UL, 0x5D7496C1665DDE12UL)}; - - private static final Murmur3Hash.HashCode128[] EXPECTED_VALUES = new Murmur3Hash.HashCode128[] { - new Murmur3Hash.HashCode128(0x56F1549659CBEE1AL, 0xCEB3EE124C3E3855L), - new Murmur3Hash.HashCode128(0xFE84B58886F9D717L, 0xD24C5DE024F5EA6BL), - new Murmur3Hash.HashCode128(0x89F6250648BB11BFL, 0x95595FB9D4CF58B0L), - new Murmur3Hash.HashCode128(0xC76AFDB39EDC6262L, 0xB9286AF4FADAF497L), - new Murmur3Hash.HashCode128(0xC2CB4D9B3C9C247EL, 0xB465D40116B8B7A2L), - new Murmur3Hash.HashCode128(0x317178F5B26D0B35L, 0x1D564F53E2E468ADL), - new Murmur3Hash.HashCode128(0xE8D75F7C05F43F09L, 0xA81CEA052AE92D6FL), - new Murmur3Hash.HashCode128(0x8F837665508C08A8L, 0x2A74E6E47E5497BCL), - new Murmur3Hash.HashCode128(0x609778FDA1AFD731L, 0x3EB1A0E3BFC653E4L), - new Murmur3Hash.HashCode128(0x0F59B8965FA49D1AL, 0xCB3BC158243A5DEEL), - new Murmur3Hash.HashCode128(0x7A6D0AC9C98F5908L, 0xBC93D3042C3E7178L), - new Murmur3Hash.HashCode128(0x863FE5AEBA9A3DFAL, 0xDF42416658CB87C5L), - new Murmur3Hash.HashCode128(0xDB4C82337C8FB216L, 0xCA7616B64ABF6B3DL), - new Murmur3Hash.HashCode128(0x0049223177425B48L, 0x25510D7246BC3C2CL), - new Murmur3Hash.HashCode128(0x31AC129B24F82CABL, 0xCD7174C2040E9834L), - new Murmur3Hash.HashCode128(0xCE39465288116345L, 0x1CE6A26BA2E9E67DL), - new Murmur3Hash.HashCode128(0xD2BE55791E13DB17L, 0xCF30BF3D93B3A9FAL), - new Murmur3Hash.HashCode128(0x43E323DD0F079145L, 0xF06721555571ABBAL), - new Murmur3Hash.HashCode128(0xB0CE9F170A96F5BCL, 0x18EE95960369D702L), - new Murmur3Hash.HashCode128(0xBFFAF6BEBC84A2A9L, 0xE0612B6FC0C9D502L), - new Murmur3Hash.HashCode128(0x33E2D699697BC2DAL, 0xB7E9CD6313DE05EEL), - new Murmur3Hash.HashCode128(0xCBFD7D8DA2A962BFL, 0xCF4C281A7750E88AL), - new Murmur3Hash.HashCode128(0xBD8D863F83863088L, 0x01AFFBDE3D405D35L), - new Murmur3Hash.HashCode128(0xBA2E05DF3328C7DBL, 0x9620867ADDFE6579L), - new Murmur3Hash.HashCode128(0xC57BD1FB63CA0947L, 0xE1391F8454D4EA9FL), - new Murmur3Hash.HashCode128(0x6AB710460A5BF9BAL, 0x11D7E13FBEF63775L), - new Murmur3Hash.HashCode128(0x55C2C7C95F41C483L, 0xA4DCC9F547A89563L), - new Murmur3Hash.HashCode128(0x8AA5A2031027F216L, 0x1653FC7AD6CC6104L), - new Murmur3Hash.HashCode128(0xAD8A899FF093D9A5L, 0x0EB26F6D1CCEB258L), - new Murmur3Hash.HashCode128(0xA3B6D57EBEB965D1L, 0xE8078FCC5D8C2E3EL), - new Murmur3Hash.HashCode128(0x91ABF587B38224F6L, 0x35899665A8A9252CL), - new Murmur3Hash.HashCode128(0xF05B1AF0487EE2D4L, 0x5D7496C1665DDE12L) }; - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - // ORIGINAL LINE: - // [TestMethod][Owner("jthunter")] public void Hash128Check() - public final void Hash128Check() { - // Generate deterministic data for which the Murmur3Hash is known (see Expected). - Random rand = new Random(42); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: byte[][] samples = new byte[MurmurHash3UnitTests.Expected.Length][]; - byte[][] samples = new byte[MurmurHash3UnitTests.EXPECTED_VALUES.length][]; - for (int i = 0; i < samples.length; i++) { - int sampleLength = rand.nextInt(10 * 1024); - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: samples[i] = new byte[sampleLength]; - samples[i] = new byte[sampleLength]; - rand.nextBytes(samples[i]); - } - - // Warm up the loop and verify correctness. - for (int i = 0; i < samples.length; i++) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: byte[] sample = samples[i]; - byte[] sample = samples[i]; - // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: - ( long low, long high) = Murmur3Hash.Hash128(sample, (0, 0)) - System.out.println(String.format("(0x%016XUL, 0x%1.16XUL),", high, low)); - assert MurmurHash3UnitTests.EXPECTED_VALUES[i].high == high; - assert MurmurHash3UnitTests.EXPECTED_VALUES[i].low == low; - } - - // Measure performance. - long ticks = MurmurHash3UnitTests.MeasureLoop(samples); - System.out.println(String.format("Murmur3Hash: %1$s", ticks)); - } - - // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: - //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)][SuppressMessage("Microsoft.Reliability", - // "CA2001:Avoid calling problematic methods", Justification = "Perf Benchmark")] private static long MeasureLoop - // (byte[][] samples) - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)][SuppressMessage("Microsoft.Reliability", - // "CA2001:Avoid calling problematic methods", Justification = "Perf Benchmark")] private static long MeasureLoop - // (byte[][] samples) - private static long MeasureLoop(byte[][] samples) { - final int outerLoopCount = 10000; - System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); - - System.gc(); - watch.Start(); - for (int j = 0; j < outerLoopCount; j++) { - //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: - //ORIGINAL LINE: foreach (byte[] sample in samples) - for (byte[] sample : samples) { - Murmur3Hash.Hash128(sample, (0, 0)) - } - } - - watch.Stop(); - return watch.ElapsedTicks; - } +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.serialization.hybridrow.unit.internal; + +import com.azure.data.cosmos.serialization.hybridrow.internal.Murmur3Hash; + +import java.util.Random; + +// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: +//ORIGINAL LINE: [TestClass] public class MurmurHash3UnitTests +public class MurmurHash3UnitTests { + + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: private static readonly(ulong low, ulong high)[] Expected = new[] { (0x56F1549659CBEE1AUL, + // 0xCEB3EE124C3E3855UL), (0xFE84B58886F9D717UL, 0xD24C5DE024F5EA6BUL), (0x89F6250648BB11BFUL, + // 0x95595FB9D4CF58B0UL), (0xC76AFDB39EDC6262UL, 0xB9286AF4FADAF497UL), (0xC2CB4D9B3C9C247EUL, + // 0xB465D40116B8B7A2UL), (0x317178F5B26D0B35UL, 0x1D564F53E2E468ADUL), (0xE8D75F7C05F43F09UL, + // 0xA81CEA052AE92D6FUL), (0x8F837665508C08A8UL, 0x2A74E6E47E5497BCUL), (0x609778FDA1AFD731UL, + // 0x3EB1A0E3BFC653E4UL), (0x0F59B8965FA49D1AUL, 0xCB3BC158243A5DEEUL), (0x7A6D0AC9C98F5908UL, + // 0xBC93D3042C3E7178UL), (0x863FE5AEBA9A3DFAUL, 0xDF42416658CB87C5UL), (0xDB4C82337C8FB216UL, + // 0xCA7616B64ABF6B3DUL), (0x0049223177425B48UL, 0x25510D7246BC3C2CUL), (0x31AC129B24F82CABUL, + // 0xCD7174C2040E9834UL), (0xCE39465288116345UL, 0x1CE6A26BA2E9E67DUL), (0xD2BE55791E13DB17UL, + // 0xCF30BF3D93B3A9FAUL), (0x43E323DD0F079145UL, 0xF06721555571ABBAUL), (0xB0CE9F170A96F5BCUL, + // 0x18EE95960369D702UL), (0xBFFAF6BEBC84A2A9UL, 0xE0612B6FC0C9D502UL), (0x33E2D699697BC2DAUL, + // 0xB7E9CD6313DE05EEUL), (0xCBFD7D8DA2A962BFUL, 0xCF4C281A7750E88AUL), (0xBD8D863F83863088UL, + // 0x01AFFBDE3D405D35UL), (0xBA2E05DF3328C7DBUL, 0x9620867ADDFE6579UL), (0xC57BD1FB63CA0947UL, + // 0xE1391F8454D4EA9FUL), (0x6AB710460A5BF9BAUL, 0x11D7E13FBEF63775UL), (0x55C2C7C95F41C483UL, + // 0xA4DCC9F547A89563UL), (0x8AA5A2031027F216UL, 0x1653FC7AD6CC6104UL), (0xAD8A899FF093D9A5UL, + // 0x0EB26F6D1CCEB258UL), (0xA3B6D57EBEB965D1UL, 0xE8078FCC5D8C2E3EUL), (0x91ABF587B38224F6UL, + // 0x35899665A8A9252CUL), (0xF05B1AF0487EE2D4UL, 0x5D7496C1665DDE12UL)}; + + private static final Murmur3Hash.HashCode128[] EXPECTED_VALUES = new Murmur3Hash.HashCode128[] { + new Murmur3Hash.HashCode128(0x56F1549659CBEE1AL, 0xCEB3EE124C3E3855L), + new Murmur3Hash.HashCode128(0xFE84B58886F9D717L, 0xD24C5DE024F5EA6BL), + new Murmur3Hash.HashCode128(0x89F6250648BB11BFL, 0x95595FB9D4CF58B0L), + new Murmur3Hash.HashCode128(0xC76AFDB39EDC6262L, 0xB9286AF4FADAF497L), + new Murmur3Hash.HashCode128(0xC2CB4D9B3C9C247EL, 0xB465D40116B8B7A2L), + new Murmur3Hash.HashCode128(0x317178F5B26D0B35L, 0x1D564F53E2E468ADL), + new Murmur3Hash.HashCode128(0xE8D75F7C05F43F09L, 0xA81CEA052AE92D6FL), + new Murmur3Hash.HashCode128(0x8F837665508C08A8L, 0x2A74E6E47E5497BCL), + new Murmur3Hash.HashCode128(0x609778FDA1AFD731L, 0x3EB1A0E3BFC653E4L), + new Murmur3Hash.HashCode128(0x0F59B8965FA49D1AL, 0xCB3BC158243A5DEEL), + new Murmur3Hash.HashCode128(0x7A6D0AC9C98F5908L, 0xBC93D3042C3E7178L), + new Murmur3Hash.HashCode128(0x863FE5AEBA9A3DFAL, 0xDF42416658CB87C5L), + new Murmur3Hash.HashCode128(0xDB4C82337C8FB216L, 0xCA7616B64ABF6B3DL), + new Murmur3Hash.HashCode128(0x0049223177425B48L, 0x25510D7246BC3C2CL), + new Murmur3Hash.HashCode128(0x31AC129B24F82CABL, 0xCD7174C2040E9834L), + new Murmur3Hash.HashCode128(0xCE39465288116345L, 0x1CE6A26BA2E9E67DL), + new Murmur3Hash.HashCode128(0xD2BE55791E13DB17L, 0xCF30BF3D93B3A9FAL), + new Murmur3Hash.HashCode128(0x43E323DD0F079145L, 0xF06721555571ABBAL), + new Murmur3Hash.HashCode128(0xB0CE9F170A96F5BCL, 0x18EE95960369D702L), + new Murmur3Hash.HashCode128(0xBFFAF6BEBC84A2A9L, 0xE0612B6FC0C9D502L), + new Murmur3Hash.HashCode128(0x33E2D699697BC2DAL, 0xB7E9CD6313DE05EEL), + new Murmur3Hash.HashCode128(0xCBFD7D8DA2A962BFL, 0xCF4C281A7750E88AL), + new Murmur3Hash.HashCode128(0xBD8D863F83863088L, 0x01AFFBDE3D405D35L), + new Murmur3Hash.HashCode128(0xBA2E05DF3328C7DBL, 0x9620867ADDFE6579L), + new Murmur3Hash.HashCode128(0xC57BD1FB63CA0947L, 0xE1391F8454D4EA9FL), + new Murmur3Hash.HashCode128(0x6AB710460A5BF9BAL, 0x11D7E13FBEF63775L), + new Murmur3Hash.HashCode128(0x55C2C7C95F41C483L, 0xA4DCC9F547A89563L), + new Murmur3Hash.HashCode128(0x8AA5A2031027F216L, 0x1653FC7AD6CC6104L), + new Murmur3Hash.HashCode128(0xAD8A899FF093D9A5L, 0x0EB26F6D1CCEB258L), + new Murmur3Hash.HashCode128(0xA3B6D57EBEB965D1L, 0xE8078FCC5D8C2E3EL), + new Murmur3Hash.HashCode128(0x91ABF587B38224F6L, 0x35899665A8A9252CL), + new Murmur3Hash.HashCode128(0xF05B1AF0487EE2D4L, 0x5D7496C1665DDE12L) }; + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + // ORIGINAL LINE: + // [TestMethod][Owner("jthunter")] public void Hash128Check() + public final void Hash128Check() { + // Generate deterministic data for which the Murmur3Hash is known (see Expected). + Random rand = new Random(42); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: byte[][] samples = new byte[MurmurHash3UnitTests.Expected.Length][]; + byte[][] samples = new byte[MurmurHash3UnitTests.EXPECTED_VALUES.length][]; + for (int i = 0; i < samples.length; i++) { + int sampleLength = rand.nextInt(10 * 1024); + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: samples[i] = new byte[sampleLength]; + samples[i] = new byte[sampleLength]; + rand.nextBytes(samples[i]); + } + + // Warm up the loop and verify correctness. + for (int i = 0; i < samples.length; i++) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: byte[] sample = samples[i]; + byte[] sample = samples[i]; + // TODO: C# TO JAVA CONVERTER: Java has no equivalent to C# deconstruction declarations: + ( long low, long high) = Murmur3Hash.Hash128(sample, (0, 0)) + System.out.println(String.format("(0x%016XUL, 0x%1.16XUL),", high, low)); + assert MurmurHash3UnitTests.EXPECTED_VALUES[i].high == high; + assert MurmurHash3UnitTests.EXPECTED_VALUES[i].low == low; + } + + // Measure performance. + long ticks = MurmurHash3UnitTests.MeasureLoop(samples); + System.out.println(String.format("Murmur3Hash: %1$s", ticks)); + } + + // TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes: + //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)][SuppressMessage("Microsoft.Reliability", + // "CA2001:Avoid calling problematic methods", Justification = "Perf Benchmark")] private static long MeasureLoop + // (byte[][] samples) + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: [MethodImpl(MethodImplOptions.NoInlining)][SuppressMessage("Microsoft.Reliability", + // "CA2001:Avoid calling problematic methods", Justification = "Perf Benchmark")] private static long MeasureLoop + // (byte[][] samples) + private static long MeasureLoop(byte[][] samples) { + final int outerLoopCount = 10000; + System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch(); + + System.gc(); + watch.Start(); + for (int j = 0; j < outerLoopCount; j++) { + //C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java: + //ORIGINAL LINE: foreach (byte[] sample in samples) + for (byte[] sample : samples) { + Murmur3Hash.Hash128(sample, (0, 0)) + } + } + + watch.Stop(); + return watch.ElapsedTicks; + } } \ No newline at end of file diff --git a/java/src/main/java/com/azure/data/cosmos/core/Reference.java b/java/src/main/java/com/azure/data/cosmos/core/Reference.java index 6e67e8c..d7c2506 100644 --- a/java/src/main/java/com/azure/data/cosmos/core/Reference.java +++ b/java/src/main/java/com/azure/data/cosmos/core/Reference.java @@ -6,7 +6,7 @@ package com.azure.data.cosmos.core; import java.util.Objects; /** - * A container object which may or may not contain a non-null value + * A container object which may or may not contain a non-null value. * * This is a value-based class and as such use of identity-sensitive operations--including reference equality * ({@code ==}), identity hash code, or synchronization--on instances of {@Reference} may have unpredictable results @@ -34,7 +34,7 @@ public final class Reference { } /** - * {@code true} if there is a value present, otherwise {@code false} + * {@code true} if there is a value present, otherwise {@code false}. * * This is equivalent to evaluating the expression {@code ref.get() == null}. * @@ -45,7 +45,7 @@ public final class Reference { } /** - * Indicates whether some other object is equal to this {@link Reference} value. The other object is considered equal if: + * Indicates whether some other object is equal to this {@link Reference} value. The other object is considered equal if:. *
    *
  • it is also an {@link Reference} and; *
  • both instances have no value present or; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/Float128.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/Float128.java index 19d1eb2..1e53b8a 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/Float128.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/Float128.java @@ -44,16 +44,14 @@ public final class Float128 { } /** - * The high-order 64 bits of the IEEE 754-2008 128-bit decimal floating point, using the BID - * encoding scheme. + * The high-order 64 bits of the IEEE 754-2008 128-bit decimal floating point, using the BID encoding scheme. */ public long high() { return this.high; } /** - * The low-order 64 bits of the IEEE 754-2008 128-bit decimal floating point, using the BID - * encoding scheme. + * The low-order 64 bits of the IEEE 754-2008 128-bit decimal floating point, using the BID encoding scheme. */ public long low() { return this.low; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowHeader.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowHeader.java index f4d7ff4..44dbb1a 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowHeader.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowHeader.java @@ -16,7 +16,7 @@ public final class HybridRowHeader { private HybridRowVersion version = HybridRowVersion.values()[0]; /** - * Initializes a new instance of a {@link HybridRowHeader} + * Initializes a new instance of a {@link HybridRowHeader}. * * @param version The version of the HybridRow library used to write this row. * @param schemaId The unique identifier of the schema whose layout was used to write this row. diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowVersion.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowVersion.java index 0284a09..546ff76 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowVersion.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/HybridRowVersion.java @@ -7,7 +7,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap; import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; /** - * Versions of HybridRow + * Versions of HybridRow. *

    * A version from this list MUST be inserted in the version BOM at the beginning of all rows. */ diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowBuffer.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowBuffer.java index 035b0ae..42cbdfb 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowBuffer.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowBuffer.java @@ -88,7 +88,7 @@ import static com.google.common.base.Strings.lenientFormat; //import static com.azure.data.cosmos.serialization.hybridrow.layouts.LayoutTypes.MongoDbObjectId; /** - * Manages a sequence of bytes representing a Hybrid Row + * Manages a sequence of bytes representing a Hybrid Row. *

    * A Hybrid Row begins in the 0-th byte of the {@link RowBuffer}. The sequence of bytes is defined by the Hybrid Row * grammar. @@ -99,7 +99,7 @@ public final class RowBuffer { private LayoutResolver resolver; /** - * Initializes a new instance of a {@link RowBuffer} + * Initializes a new instance of a {@link RowBuffer}. * * @param capacity Initial buffer capacity. */ @@ -108,7 +108,7 @@ public final class RowBuffer { } /** - * Initializes a new instance of a {@link RowBuffer} + * Initializes a new instance of a {@link RowBuffer}. * * @param capacity Initial buffer capacity * @param allocator A buffer allocator @@ -121,7 +121,7 @@ public final class RowBuffer { } /** - * Initializes a new instance of a {@link RowBuffer} from an existing buffer + * Initializes a new instance of a {@link RowBuffer} from an existing buffer. * * @param buffer An existing {@link ByteBuf} containing a Hybrid Row. This instance takes ownership of the buffer. * Hence, the caller should not maintain a reference to the buffer or mutate the buffer after this @@ -156,7 +156,7 @@ public final class RowBuffer { } /** - * Compute the byte offset from the beginning of the row for a given variable's value + * Compute the byte offset from the beginning of the row for a given variable's value. * * @param layout The (optional) layout of the current scope. * @param scopeOffset The zero-based offset to the beginning of the scope's value. @@ -196,7 +196,7 @@ public final class RowBuffer { } /** - * Compute the number of bytes necessary to store the unsigned 32-bit integer value using the varuint encoding + * Compute the number of bytes necessary to store the unsigned 32-bit integer value using the varuint encoding. * * @param value The value to be encoded * @return The number of bytes needed to store the varuint encoding of {@code value} @@ -218,7 +218,7 @@ public final class RowBuffer { } /** - * Delete the sparse field at the specified cursor position + * Delete the sparse field at the specified cursor position. * * @param edit identifies the field to delete */ @@ -242,7 +242,7 @@ public final class RowBuffer { } /** - * Delete the variable-length field at a specified {@code offset} + * Delete the variable-length field at a specified {@code offset}. *

    * The field is interpreted as either a variable-length integer or a variable-length sequence of bytes as indicated * by the value of {@code isVarint}. @@ -319,14 +319,14 @@ public final class RowBuffer { } /** - * The length of this {@link RowBuffer} in bytes + * The length of this {@link RowBuffer} in bytes. */ public int length() { return this.buffer.writerIndex(); } /** - * Compute the byte offsets from the beginning of the row for a given sparse field insertion + * Compute the byte offsets from the beginning of the row for a given sparse field insertion. * into a set/map. * * @param scope The sparse scope to insert into. @@ -448,7 +448,7 @@ public final class RowBuffer { } /** - * Reads in the contents of the current {@link RowBuffer} from an {@link InputStream} + * Reads in the contents of the current {@link RowBuffer} from an {@link InputStream}. *

    * The {@link RowBuffer} is initialized with the associated layout and row {@code version}. * @@ -488,7 +488,7 @@ public final class RowBuffer { } /** - * Reads the contents of the current {@link RowBuffer} from a {@link ByteBuf} + * Reads the contents of the current {@link RowBuffer} from a {@link ByteBuf}. *

    * The {@link RowBuffer} is initialized with a copy of the specified input {@link ByteBuf} and the associated layout * and row {@code version}. @@ -795,7 +795,7 @@ public final class RowBuffer { // } /** - * Rotates the sign bit of a two's complement value to the least significant bit + * Rotates the sign bit of a two's complement value to the least significant bit. * * @param value A signed value. * @return An unsigned value encoding the same value but with the sign bit in the LSB. @@ -1172,7 +1172,7 @@ public final class RowBuffer { } /** - * Sets the specified 64-bit integer at the current {@link RowBuffer position} as a 7-bit encoded 32-bit value + * Sets the specified 64-bit integer at the current {@link RowBuffer position} as a 7-bit encoded 32-bit value. *

    * The 64-bit integer value is written 7-bits at a time. The high bit of the byte, when set, indicates there are * more bytes. An {@link IllegalArgumentException} is thrown, if the specified 64-bit integer value is outside @@ -2011,7 +2011,7 @@ public final class RowBuffer { } /** - * Writes the content of the buffer on to an {@link OutputStream} + * Writes the content of the buffer on to an {@link OutputStream}. * * @param stream the target @{link OutputStream} * @throws IOException if the specified {@code stream} throws an {@link IOException} during output @@ -2307,7 +2307,7 @@ public final class RowBuffer { } /** - * Compares the values of two encoded key-value pair fields using the hybrid row binary + * Compares the values of two encoded key-value pair fields using the hybrid row binary. * collation. * * @param left An edit describing the left field. @@ -2500,7 +2500,7 @@ public final class RowBuffer { } /** - * Ensure that sufficient space exists in the row buffer to write the specified value + * Ensure that sufficient space exists in the row buffer to write the specified value. * * @param length The number of bytes needed to encode the value of the field to be written. * @param edit The prepared edit indicating where and in what context the current write will happen. @@ -2591,7 +2591,7 @@ public final class RowBuffer { } /** - * Ensure that sufficient space exists in the row buffer to write the specified value + * Ensure that sufficient space exists in the row buffer to write the specified value. * * @param length The number of bytes needed to encode the value of the field to be written. * @param edit The prepared edit indicating where and in what context the current write will happen. @@ -2645,7 +2645,7 @@ public final class RowBuffer { } /** - * Sorts a {@code uniqueIndex} list using the hybrid row binary collation + * Sorts a {@code uniqueIndex} list using the hybrid row binary collation. * * @param scope The scope to be sorted. * @param edit A edit that points at the scope. @@ -2931,7 +2931,7 @@ public final class RowBuffer { } /** - * Skip over a nested scope + * Skip over a nested scope. * * @param edit The sparse scope to search * @return The zero-based byte offset immediately following the scope end marker @@ -2950,7 +2950,7 @@ public final class RowBuffer { } /** - * Compute the size of a sparse (primitive) field + * Compute the size of a sparse (primitive) field. * * @param type The type of the current sparse field. * @param metaOffset The zero-based offset from the beginning of the row where the field begins. @@ -3039,7 +3039,7 @@ public final class RowBuffer { } /** - * Compute the size of a sparse field + * Compute the size of a sparse field. * * @param edit The edit structure describing the field to measure. * @return The length (in bytes) of the encoded field including the metadata and the value. @@ -3056,7 +3056,7 @@ public final class RowBuffer { } /** - * Reads and validates the header of the current {@link RowBuffer} + * Reads and validates the header of the current {@link RowBuffer}. * * @return {@code true} if the header validation succeeded; otherwise, if the header is invalid, {@code false} */ @@ -3378,7 +3378,7 @@ public final class RowBuffer { } /** - * Represents a single item within a set/map scope that needs to be indexed + * Represents a single item within a set/map scope that needs to be indexed. *

    * This structure is used when rebuilding a set/map index during row streaming via {@link RowWriter}.Each item * encodes its offsets and length within the row. @@ -3403,7 +3403,7 @@ public final class RowBuffer { } /** - * If existing, the offset to the metadata of the existing field, otherwise the location to insert a new field + * If existing, the offset to the metadata of the existing field, otherwise the location to insert a new field. */ public int metaOffset() { return this.metaOffset; @@ -3415,7 +3415,7 @@ public final class RowBuffer { } /** - * Size of the target element + * Size of the target element. */ public int size() { return this.size; @@ -3427,7 +3427,7 @@ public final class RowBuffer { } /** - * If existing, the offset to the value of the existing field, otherwise undefined + * If existing, the offset to the value of the existing field, otherwise undefined. */ public int valueOffset() { return this.valueOffset; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowCursor.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowCursor.java index 11337a8..1ba0004 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowCursor.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/RowCursor.java @@ -126,7 +126,7 @@ public final class RowCursor implements Cloneable { } /** - * If existing, the offset to the end of the existing field. Used as a hint when skipping + * If existing, the offset to the end of the existing field. Used as a hint when skipping. * forward. */ public int endOffset() { @@ -151,7 +151,7 @@ public final class RowCursor implements Cloneable { } /** - * If {@code true}, this scope's nested fields cannot be updated individually + * If {@code true}, this scope's nested fields cannot be updated individually. *

    * The entire scope can still be replaced. */ @@ -165,7 +165,7 @@ public final class RowCursor implements Cloneable { } /** - * For indexed scopes (e.g. an Array scope), the zero-based index into the scope of the sparse field + * For indexed scopes (e.g. an Array scope), the zero-based index into the scope of the sparse field. */ public int index() { return this.index; @@ -189,7 +189,7 @@ public final class RowCursor implements Cloneable { } /** - * If existing, the offset to the metadata of the existing field, otherwise the location to + * If existing, the offset to the metadata of the existing field, otherwise the location to. * insert a new field. */ public int metaOffset() { @@ -226,7 +226,7 @@ public final class RowCursor implements Cloneable { } /** - * The kind of scope within which this edit was prepared + * The kind of scope within which this edit was prepared. */ public LayoutTypeScope scopeType() { return this.scopeType; @@ -238,7 +238,7 @@ public final class RowCursor implements Cloneable { } /** - * The type parameters of the scope within which this edit was prepared + * The type parameters of the scope within which this edit was prepared. */ public TypeArgumentList scopeTypeArgs() { return this.scopeTypeArgs; @@ -250,8 +250,7 @@ public final class RowCursor implements Cloneable { } /** - * The 0-based byte offset from the beginning of the row where the first sparse field within - * the scope begins. + * The 0-based byte offset from the beginning of the row where the first sparse field within the scope begins. */ public int start() { return this.start; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/SchemaId.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/SchemaId.java index 56e4ca8..7344e0e 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/SchemaId.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/SchemaId.java @@ -22,7 +22,7 @@ import java.io.IOException; import static com.google.common.base.Strings.lenientFormat; /** - * The unique identifier for a schema + * The unique identifier for a schema. * Identifiers must be unique within the scope of the database in which they are used. */ @JsonDeserialize(using = SchemaId.JsonDeserializer.class) @@ -65,7 +65,7 @@ public final class SchemaId implements Comparable { } /** - * {@code true} if this is the same {@link SchemaId} as {@code other} + * {@code true} if this is the same {@link SchemaId} as {@code other}. * * @param other The value to compare against. * @return True if the two values are the same. @@ -78,7 +78,7 @@ public final class SchemaId implements Comparable { } /** - * Returns a {@link SchemaId} from a specified underlying integer value + * Returns a {@link SchemaId} from a specified underlying integer value. * * @return The integer value of this {@link SchemaId} */ @@ -97,7 +97,7 @@ public final class SchemaId implements Comparable { } /** - * The underlying integer value of this {@link SchemaId} + * The underlying integer value of this {@link SchemaId}. * * @return The integer value of this {@link SchemaId} */ diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/UnixDateTime.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/UnixDateTime.java index 432e223..306cad8 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/UnixDateTime.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/UnixDateTime.java @@ -11,14 +11,14 @@ package com.azure.data.cosmos.serialization.hybridrow; */ public final class UnixDateTime { /** - * Unix epoch + * Unix epoch. *

    * {@link UnixDateTime} values are signed values centered on this value. */ public static final UnixDateTime EPOCH = new UnixDateTime(); /** - * Size in bytes of a {@link UnixDateTime} + * Size in bytes of a {@link UnixDateTime}. */ public static final int BYTES = Long.SIZE; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/internal/Murmur3Hash.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/internal/Murmur3Hash.java index b1ca11b..1f077ac 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/internal/Murmur3Hash.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/internal/Murmur3Hash.java @@ -36,7 +36,7 @@ public final class Murmur3Hash { private static final ByteBuf EMPTY_STRING = Constant.add(""); /** - * Computes a 128-bit Murmur3Hash 128-bit value for a data item + * Computes a 128-bit Murmur3Hash 128-bit value for a data item. * * @param item The data to hash * @param seed The seed with which to initialize diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReader.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReader.java index 5699102..d0e6531 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReader.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowReader.java @@ -55,7 +55,7 @@ import static com.google.common.base.Preconditions.checkState; import static com.google.common.base.Strings.lenientFormat; /** - * A forward-only, streaming, field reader for {@link RowBuffer} + * A forward-only, streaming, field reader for {@link RowBuffer}. *

    * A {@link RowReader} allows the traversal in a streaming, left to right fashion, of an entire HybridRow. The row's * layout provides decoding for any schematized portion of the row. However, unschematized sparse fields are read @@ -75,7 +75,7 @@ public final class RowReader { private States state; /** - * Initializes a new instance of the {@link RowReader} class + * Initializes a new instance of the {@link RowReader} class. * * @param row The row to be read */ @@ -84,7 +84,7 @@ public final class RowReader { } /** - * Initializes a new instance of the {@link RowReader} class + * Initializes a new instance of the {@link RowReader} class. * * @param row The row to be read * @param checkpoint Initial state of the reader @@ -101,7 +101,7 @@ public final class RowReader { } /** - * Initializes a new instance of the {@link RowReader} class + * Initializes a new instance of the {@link RowReader} class. * * @param row The row to be read * @param scope Cursor defining the scope of the fields to be read @@ -123,7 +123,7 @@ public final class RowReader { } /** - * Read the current field as a fixed length {@code MongoDbObjectId} value + * Read the current field as a fixed length {@code MongoDbObjectId} value. * * @param value On success, receives the value, undefined otherwise * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -151,7 +151,7 @@ public final class RowReader { } /** - * {@code true} if field has a value--if positioned on a field--undefined otherwise + * {@code true} if field has a value--if positioned on a field--undefined otherwise. *

    * If the current field is a Nullable scope, this method return true if the value is not null. If the current field * is a nullable Null primitive value, this method return true if the value is set (even though its values is set @@ -177,7 +177,7 @@ public final class RowReader { } /** - * Zero-based index, relative to the scope, of the field--if positioned on a field--undefined otherwise + * Zero-based index, relative to the scope, of the field--if positioned on a field--undefined otherwise. *

    * When enumerating a non-indexed scope, this value is always zero. * @@ -188,14 +188,14 @@ public final class RowReader { } /** - * The length of row in bytes + * The length of row in bytes. */ public int length() { return this.row.length(); } /** - * The path, relative to the scope, of the field--if positioned on a field--undefined otherwise + * The path, relative to the scope, of the field--if positioned on a field--undefined otherwise. *

    * When enumerating an indexed scope, this value is always null. * @@ -224,7 +224,7 @@ public final class RowReader { } /** - * The path, relative to the scope, of the field--if positioned on a field--undefined otherwise + * The path, relative to the scope, of the field--if positioned on a field--undefined otherwise. *

    * When enumerating an indexed scope, this value is always null. * @@ -242,7 +242,7 @@ public final class RowReader { } /** - * Advances the reader to the next field + * Advances the reader to the next field. * * @return {@code true}, if there is another field to be read; {@code false} otherwise */ @@ -292,7 +292,7 @@ public final class RowReader { } /** - * Read the current field as a variable length, sequence of bytes + * Read the current field as a variable length, sequence of bytes. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -321,7 +321,7 @@ public final class RowReader { } /** - * Read the current field as a variable length, sequence of bytes + * Read the current field as a variable length, sequence of bytes. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -341,7 +341,7 @@ public final class RowReader { } /** - * Read the current field as a {@link Boolean} + * Read the current field as a {@link Boolean}. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -369,7 +369,7 @@ public final class RowReader { } /** - * Read the current field as a fixed length {@code DateTime} value + * Read the current field as a fixed length {@code DateTime} value. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -397,7 +397,7 @@ public final class RowReader { } /** - * Read the current field as a fixed length decimal value + * Read the current field as a fixed length decimal value. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. @@ -424,7 +424,7 @@ public final class RowReader { } /** - * Read the current field as a fixed length, 128-bit, IEEE-encoded floating point value + * Read the current field as a fixed length, 128-bit, IEEE-encoded floating point value. * * @param value On success, receives the value, undefined otherwise. * @return {@link Result#SUCCESS} if the read is successful, an error {@link Result} otherwise. diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowWriter.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowWriter.java index c6caeca..13295c9 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowWriter.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/io/RowWriter.java @@ -59,7 +59,7 @@ public final class RowWriter { private RowBuffer row; /** - * Initializes a new instance of the {@link RowWriter} class + * Initializes a new instance of the {@link RowWriter} class. * * @param row The row to be read. * @param scope The scope into which items should be written. diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/Layout.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/Layout.java index 1d76532..e3eaa54 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/Layout.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/Layout.java @@ -21,7 +21,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; /** - * A Layout describes the structure of a Hybrid Row + * A Layout describes the structure of a Hybrid Row. *

    * A layout indicates the number, order, and type of all schematized columns to be stored within a hybrid row. The * order and type of columns defines the physical ordering of bytes used to encode the row and impacts the cost of @@ -97,7 +97,7 @@ public final class Layout { } /** - * Finds a column specification for a column with a matching path + * Finds a column specification for a column with a matching path. * * @param path path of the column to find * @return {@link LayoutColumn}, if a column with the {@code path} is found, {@link Optional#empty()} @@ -129,7 +129,7 @@ public final class Layout { } /** - * Top level columns defined by the current {@link Layout} in left-to-right order + * Top level columns defined by the current {@link Layout} in left-to-right order. * * @return Top level columns defined by the current {@link Layout} in left-to-right order */ @@ -188,7 +188,7 @@ public final class Layout { } /** - * Returns a human readable diagnostic string representation of this {@link Layout} + * Returns a human readable diagnostic string representation of this {@link Layout}. *

    * This representation should only be used for debugging and diagnostic purposes. */ diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/LayoutType.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/LayoutType.java index 620008e..3caa561 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/LayoutType.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/layouts/LayoutType.java @@ -15,7 +15,7 @@ import static com.google.common.base.Preconditions.checkNotNull; import static com.google.common.base.Strings.lenientFormat; /** - * Describes the physical byte layout of a hybrid row field of a specific physical type {@code T} + * Describes the physical byte layout of a hybrid row field of a specific physical type {@code T}. * * {@link LayoutType} provides methods for manipulating hybrid row fields of a particular type, and properties that * describe the layout of fields of that type. diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/MapPropertyType.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/MapPropertyType.java index 56ff1fb..f939e55 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/MapPropertyType.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/MapPropertyType.java @@ -4,7 +4,7 @@ package com.azure.data.cosmos.serialization.hybridrow.schemas; /** - * Map properties represent an unbounded set of zero or more key-value pairs with unique keys + * Map properties represent an unbounded set of zero or more key-value pairs with unique keys. *

    * Maps are typed or untyped. Within typed maps, all key MUST be the same type, and all values MUST be the same type. * The type of both key and values is specified via {@link #keys} and {@link #values} respectively. Typed maps may be @@ -17,7 +17,7 @@ public class MapPropertyType extends ScopePropertyType { private PropertyType values; /** - * (Optional) type of the keys of the map, if a typed map, otherwise {@code null} + * (Optional) type of the keys of the map, if a typed map, otherwise {@code null}. */ public final PropertyType keys() { return this.keys; @@ -29,7 +29,7 @@ public class MapPropertyType extends ScopePropertyType { } /** - * (Optional) type of the values of the map, if a typed map, otherwise {@code null} + * (Optional) type of the values of the map, if a typed map, otherwise {@code null}. */ public final PropertyType values() { return this.values; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/ObjectPropertyType.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/ObjectPropertyType.java index 4f587f2..ae2e9bf 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/ObjectPropertyType.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/ObjectPropertyType.java @@ -25,7 +25,7 @@ public class ObjectPropertyType extends ScopePropertyType { } /** - * A list of zero or more property definitions that define the columns within the schema + * A list of zero or more property definitions that define the columns within the schema. */ public final List properties() { return this.properties; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/PrimarySortKey.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/PrimarySortKey.java index b667785..19a72ff 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/PrimarySortKey.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/PrimarySortKey.java @@ -4,7 +4,7 @@ package com.azure.data.cosmos.serialization.hybridrow.schemas; /** - * Describes a property or set of properties used to order the data set within a single + * Describes a property or set of properties used to order the data set within a single. * partition. */ public class PrimarySortKey { diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/Schema.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/Schema.java index 4abd611..a57233d 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/Schema.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/Schema.java @@ -19,7 +19,7 @@ import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkNotNull; /** - * A schema describes either table or UDT metadata + * A schema describes either table or UDT metadata. *

    * The schema of a table or UDT describes the structure of row (i.e. which columns and the types of those columns). A * table schema represents the description of the contents of a collection level row directly. UDTs described nested @@ -63,7 +63,7 @@ public class Schema { } /** - * Compiles this logical schema into a physical layout that can be used to read and write rows + * Compiles this logical schema into a physical layout that can be used to read and write rows. * * @param ns The namespace within which this schema is defined. * @return The layout for the schema. @@ -117,7 +117,7 @@ public class Schema { } /** - * An (optional) list of zero or more logical paths that form the partition key + * An (optional) list of zero or more logical paths that form the partition key. *

    * All paths referenced MUST map to a property within the schema. This field is never null. * @@ -134,7 +134,7 @@ public class Schema { } /** - * An (optional) list of zero or more logical paths that form the primary sort key + * An (optional) list of zero or more logical paths that form the primary sort key. *

    * All paths referenced MUST map to a property within the schema. This field is never null. * @@ -151,7 +151,7 @@ public class Schema { } /** - * A list of zero or more property definitions that define the columns within the schema + * A list of zero or more property definitions that define the columns within the schema. *

    * This field is never null. * @@ -168,7 +168,7 @@ public class Schema { } /** - * The unique identifier for a schema + * The unique identifier for a schema. *

    * Identifiers must be unique within the scope of the database in which they are used. */ @@ -199,7 +199,7 @@ public class Schema { } /** - * Returns a JSON string representation of the current {@link Schema} + * Returns a JSON string representation of the current {@link Schema}. * * @return a JSON string representation of the current {@link Schema} */ @@ -209,7 +209,7 @@ public class Schema { } /** - * The type of this schema + * The type of this schema. *

    * This value MUST be {@link TypeKind#SCHEMA}. */ @@ -223,7 +223,7 @@ public class Schema { } /** - * The version of the HybridRow Schema Definition Language used to encode this schema + * The version of the HybridRow Schema Definition Language used to encode this schema. */ public final SchemaLanguageVersion version() { return this.version; diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/SetPropertyType.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/SetPropertyType.java index 2af1d31..6dcdff3 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/SetPropertyType.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/SetPropertyType.java @@ -4,7 +4,7 @@ package com.azure.data.cosmos.serialization.hybridrow.schemas; /** - * Set properties represent an unbounded set of zero or more unique items + * Set properties represent an unbounded set of zero or more unique items. *

    * Sets may be typed or untyped. Within typed sets, all items MUST be the same type. The * type of items is specified via {@link #items}. Typed sets may be stored more efficiently diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/StaticKey.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/StaticKey.java index 8357f0f..9b40a9c 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/StaticKey.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/StaticKey.java @@ -4,14 +4,14 @@ package com.azure.data.cosmos.serialization.hybridrow.schemas; /** - * Describes a property or property set whose values MUST be the same for all rows that share the same partition key + * Describes a property or property set whose values MUST be the same for all rows that share the same partition key. */ public class StaticKey { private String path; /** - * The logical path of the referenced property + * The logical path of the referenced property. *

    * Static path MUST refer to properties defined within the same {@link Schema}. */ diff --git a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/UdtPropertyType.java b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/UdtPropertyType.java index 7494eee..1ced491 100644 --- a/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/UdtPropertyType.java +++ b/java/src/main/java/com/azure/data/cosmos/serialization/hybridrow/schemas/UdtPropertyType.java @@ -18,7 +18,7 @@ public class UdtPropertyType extends ScopePropertyType { private SchemaId schemaId; /** - * Initializes a new {@link UdtPropertyType} + * Initializes a new {@link UdtPropertyType}. */ public UdtPropertyType() { this.schemaId(SchemaId.INVALID); diff --git a/java/src/test/java/com/azure/data/cosmos/core/Utf8StringTest.java b/java/src/test/java/com/azure/data/cosmos/core/Utf8StringTest.java new file mode 100644 index 0000000..163d8f6 --- /dev/null +++ b/java/src/test/java/com/azure/data/cosmos/core/Utf8StringTest.java @@ -0,0 +1,83 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.core; + +import org.testng.annotations.Test; + +import static org.testng.Assert.*; + +public class Utf8StringTest { + + @Test + public void testIsEmpty() { + } + + @Test + public void testIsNull() { + } + + @Test + public void testChars() { + } + + @Test + public void testCodePoints() { + } + + @Test + public void testCompareTo() { + } + + @Test + public void testTestCompareTo() { + } + + @Test + public void testEncodedLength() { + } + + @Test + public void testTestEquals() { + } + + @Test + public void testTestEquals1() { + } + + @Test + public void testTestEquals2() { + } + + @Test + public void testTestEquals3() { + } + + @Test + public void testFrom() { + } + + @Test + public void testFromUnsafe() { + } + + @Test + public void testTestHashCode() { + } + + @Test + public void testLength() { + } + + @Test + public void testTestToString() { + } + + @Test + public void testToUtf16() { + } + + @Test + public void testTranscodeUtf16() { + } +} \ No newline at end of file diff --git a/java/src/test/java/com/azure/data/cosmos/core/UtfAnyStringTest.java b/java/src/test/java/com/azure/data/cosmos/core/UtfAnyStringTest.java new file mode 100644 index 0000000..0a0b510 --- /dev/null +++ b/java/src/test/java/com/azure/data/cosmos/core/UtfAnyStringTest.java @@ -0,0 +1,75 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. + +package com.azure.data.cosmos.core; + +import org.testng.annotations.Test; + +import static org.testng.Assert.*; + +public class UtfAnyStringTest { + + @Test + public void testIsEmpty() { + } + + @Test + public void testIsNull() { + } + + @Test + public void testIsUtf16() { + } + + @Test + public void testIsUtf8() { + } + + @Test + public void testCompareTo() { + } + + @Test + public void testTestCompareTo() { + } + + @Test + public void testTestCompareTo1() { + } + + @Test + public void testTestEquals() { + } + + @Test + public void testTestEquals1() { + } + + @Test + public void testTestEquals2() { + } + + @Test + public void testTestEquals3() { + } + + @Test + public void testTestHashCode() { + } + + @Test + public void testLength() { + } + + @Test + public void testTestToString() { + } + + @Test + public void testToUtf16() { + } + + @Test + public void testToUtf8() { + } +} \ No newline at end of file