Excluding most tests with the expectation that we'll bring them in as we continue to expand our test matrix.

This commit is contained in:
David Noble
2019-09-13 14:23:01 -07:00
parent 99e2d462cd
commit 9164d0113d
82 changed files with 22411 additions and 22256 deletions

View File

@@ -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<Dictionary<Utf8String, object>>, LayoutResolverNamespace)>
// LoadExpectedAsync(string expectedFile)
// {
// LayoutResolverNamespace resolver = this.DefaultResolver;
// List<Dictionary<Utf8String, object>> expected = new List<Dictionary<Utf8String, object>>();
// using (Stream stm = new FileStream(expectedFile, FileMode.Open))
// {
// // Read a RecordIO stream.
// MemorySpanResizer<byte> resizer = new MemorySpanResizer<byte>(BenchmarkSuiteBase.InitialCapacity);
// Result r = await stm.ReadRecordIOAsync(record =>
// {
// r = BenchmarkSuiteBase.LoadOneRow(record, resolver, out Dictionary<Utf8String, object>
// 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<byte> buffer, LayoutResolver resolver, out
// Dictionary<Utf8String, object> rowValue)
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
protected static Result LoadOneRow(Memory<Byte> buffer, LayoutResolver resolver,
Out<HashMap<Utf8String, Object>> rowValue) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<Dictionary<Utf8String, object>> 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<HashMap<Utf8String, Object>> 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<byte> resizer = new MemorySpanResizer<byte>(BenchmarkSuiteBase
// .InitialCapacity);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<byte> body) =>
Result r = await RecordIOStream.WriteRecordIOAsync(stm,
new Segment("HybridRow.Tests.Perf Expected Results", sdl), (long index, out ReadOnlyMemory<Byte>body) ->
{
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<Dictionary<Utf8String, object>>, LayoutResolverNamespace)>
// LoadExpectedAsync(string expectedFile)
// {
// LayoutResolverNamespace resolver = this.DefaultResolver;
// List<Dictionary<Utf8String, object>> expected = new List<Dictionary<Utf8String, object>>();
// using (Stream stm = new FileStream(expectedFile, FileMode.Open))
// {
// // Read a RecordIO stream.
// MemorySpanResizer<byte> resizer = new MemorySpanResizer<byte>(BenchmarkSuiteBase.InitialCapacity);
// Result r = await stm.ReadRecordIOAsync(record =>
// {
// r = BenchmarkSuiteBase.LoadOneRow(record, resolver, out Dictionary<Utf8String, object>
// 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<byte> buffer, LayoutResolver resolver, out
// Dictionary<Utf8String, object> rowValue)
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
protected static Result LoadOneRow(Memory<Byte> buffer, LayoutResolver resolver,
Out<HashMap<Utf8String, Object>> rowValue) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<Dictionary<Utf8String, object>> 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<HashMap<Utf8String, Object>> 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<byte> resizer = new MemorySpanResizer<byte>(BenchmarkSuiteBase
// .InitialCapacity);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<byte> body) =>
Result r = await RecordIOStream.WriteRecordIOAsync(stm,
new Segment("HybridRow.Tests.Perf Expected Results", sdl), (long index, out ReadOnlyMemory<Byte>body) ->
{
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;
}
}
}

View File

@@ -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<Utf8String, Object> 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<Utf8String, object> 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<object> 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<Utf8String, Object> 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<Utf8String, object> 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<object> 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()));
}
}
}

View File

@@ -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();
}
}

View File

@@ -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<Utf8String, Object> 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<Object>)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<Object>)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<Object>)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<Object> items = (ArrayList<Object>)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<Utf8String, Object> dict = (HashMap<Utf8String, Object>)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<Utf8String, Object> 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<Object>)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<Object>)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<Object>)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<Object> items = (ArrayList<Object>)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<Utf8String, Object> dict = (HashMap<Utf8String, Object>)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;
}
}
}

View File

@@ -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 .
* <p>
* 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.
* </p>
*/
// 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<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<HashMap<Utf8String, Object>> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.CodeGenWriter.Reset();
Result r = ctx.CodeGenWriter.WriteBuffer(tableValue);
ResultAssert.IsSuccess(r);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> tableValue) -> ctx.CodeGenWriter.Length, expected);
context = tempReference_context.get();
}
private static void ProtobufReadBenchmark(String schemaName, String dataSetName, int innerLoopIterations,
ArrayList<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(expected.size());
BenchmarkContext context = new BenchmarkContext();
context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity);
for (HashMap<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<HashMap<Utf8String, Object>> expected) {
BenchmarkContext context = new BenchmarkContext();
context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity);
Reference<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.ProtobufWriter.WriteBuffer(tableValue);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> 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 .
* <p>
* 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.
* </p>
*/
// 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<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<HashMap<Utf8String, Object>> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.CodeGenWriter.Reset();
Result r = ctx.CodeGenWriter.WriteBuffer(tableValue);
ResultAssert.IsSuccess(r);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> tableValue) -> ctx.CodeGenWriter.Length, expected);
context = tempReference_context.get();
}
private static void ProtobufReadBenchmark(String schemaName, String dataSetName, int innerLoopIterations,
ArrayList<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(expected.size());
BenchmarkContext context = new BenchmarkContext();
context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity);
for (HashMap<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<HashMap<Utf8String, Object>> expected) {
BenchmarkContext context = new BenchmarkContext();
context.ProtobufWriter = new ProtobufRowGenerator(schemaName, BenchmarkSuiteBase.InitialCapacity);
Reference<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.ProtobufWriter.WriteBuffer(tableValue);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> tableValue) -> ctx.ProtobufWriter.Length, expected);
context = tempReference_context.get();
}
}

View File

@@ -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<HashMap<Utf8String, Object>> 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<HashMap<Utf8String, Object>> 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<HashMap<Utf8String, Object>> rows = new ArrayList<HashMap<Utf8String, Object>>(outerLoopIterations);
for (int iteration = 0; iteration != outerLoopIterations; iteration += outerLoopIterations < 0 ? 0 : 1) {
TypeArgument typeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(layout.getSchemaId().clone()));
HashMap<Utf8String, Object> rowValue =
(HashMap<Utf8String, Object>)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<HashMap<Utf8String, Object>> 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<HashMap<Utf8String, Object>> 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<HashMap<Utf8String, Object>> rows = new ArrayList<HashMap<Utf8String, Object>>(outerLoopIterations);
for (int iteration = 0; iteration != outerLoopIterations; iteration += outerLoopIterations < 0 ? 0 : 1) {
TypeArgument typeArg = new TypeArgument(LayoutType.UDT, new TypeArgumentList(layout.getSchemaId().clone()));
HashMap<Utf8String, Object> rowValue =
(HashMap<Utf8String, Object>)valueGenerator.GenerateLayoutType(resolver, typeArg.clone());
rows.add(rowValue);
}
return rows;
}
}

View File

@@ -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<byte> 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<Byte> 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<RowBuffer> tempReference_row = new Reference<RowBuffer>(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<Utf8String, Object> value) {
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<Utf8String, Object> dict) ->
{
for ((Utf8String propPath,Object propValue) :dict)
{
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer =
new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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<RowWriter> 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<byte> 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<Utf8String, object> 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<Utf8String, Object> dict) ->
{
for ((Utf8String propPath,Object propValue) :dict)
{
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer2 = new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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<object> 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<Object> list) ->
{
for (Object elm : list) {
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer2 = new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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<byte> 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<Byte> 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<RowBuffer> tempReference_row = new Reference<RowBuffer>(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<Utf8String, Object> value) {
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<Utf8String, Object> dict) ->
{
for ((Utf8String propPath,Object propValue) :dict)
{
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer =
new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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<RowWriter> 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<byte> 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<Utf8String, object> 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<Utf8String, Object> dict) ->
{
for ((Utf8String propPath,Object propValue) :dict)
{
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer2 = new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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<object> 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<Object> list) ->
{
for (Object elm : list) {
Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter> tempReference_writer2 = new Reference<com.azure.data.cosmos.serialization.hybridrow.io.RowWriter>(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;
}
}
}

View File

@@ -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();
}
}

View File

@@ -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<TValue>(string model, string
// operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context,
// BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure, List<TValue> 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<TValue>(string model, string
// operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context,
// BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure, List<TValue> expected)
protected static <TValue> void Benchmark(String model, String operation, String schema, String api,
int innerLoopIterations, Reference<BenchmarkContext> context,
BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure,
ArrayList<TValue> 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<TValue>(int
// innerLoopIterations, TValue tableValue, ref BenchmarkContext context, BenchmarkBody<TValue> loopBody)
private static <TValue> void BenchmarkInnerLoop(int innerLoopIterations, TValue tableValue,
Reference<BenchmarkContext> context,
BenchmarkBody<TValue> loopBody) {
for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) {
loopBody.invoke(context, tableValue);
}
}
@FunctionalInterface
public interface BenchmarkBody<TValue> {
void invoke(Reference<BenchmarkContext> context, TValue value);
}
@FunctionalInterface
public interface BenchmarkMeasure<TValue> {
long invoke(Reference<BenchmarkContext> 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<TValue>(string model, string
// operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context,
// BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure, List<TValue> 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<TValue>(string model, string
// operation, string schema, string api, int innerLoopIterations, ref BenchmarkContext context,
// BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure, List<TValue> expected)
protected static <TValue> void Benchmark(String model, String operation, String schema, String api,
int innerLoopIterations, Reference<BenchmarkContext> context,
BenchmarkBody<TValue> loopBody, BenchmarkMeasure<TValue> measure,
ArrayList<TValue> 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<TValue>(int
// innerLoopIterations, TValue tableValue, ref BenchmarkContext context, BenchmarkBody<TValue> loopBody)
private static <TValue> void BenchmarkInnerLoop(int innerLoopIterations, TValue tableValue,
Reference<BenchmarkContext> context,
BenchmarkBody<TValue> loopBody) {
for (int innerLoop = 0; innerLoop < innerLoopIterations; innerLoop++) {
loopBody.invoke(context, tableValue);
}
}
@FunctionalInterface
public interface BenchmarkBody<TValue> {
void invoke(Reference<BenchmarkContext> context, TValue value);
}
@FunctionalInterface
public interface BenchmarkMeasure<TValue> {
long invoke(Reference<BenchmarkContext> 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;
}
}
}

View File

@@ -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<byte> active;
private ReadOnlySpan<Byte> 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<Utf8String, Object> 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<Utf8String, Object> 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<Utf8String, Object>)value));
break;
default:
throw new IllegalStateException();
break;
}
}
return address;
}
private static PostalCode MakePostalCode(HashMap<Utf8String, Object> 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<String,
Address> field,
ArrayList<Object> list) {
for (Object item : list) {
ArrayList<Object> tuple = (ArrayList<Object>)item;
String key = ((Utf8String)tuple.get(0)).toString();
Address value =
ProtobufRowGenerator.MakeAddress((HashMap<Utf8String, Object>)tuple.get(1));
field.Add(key, value);
}
}
private static void PopulateStringList(RepeatedField<String> field, ArrayList<Object> 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<Utf8String, Object> 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<Object>)value);
}
break;
case "phone_numbers":
if (value != null) {
ProtobufRowGenerator.PopulateStringList(room.getPhoneNumbers(), (ArrayList<Object>)value);
}
break;
case "addresses":
if (value != null) {
ProtobufRowGenerator.PopulateStringAddressMap(room.getAddresses(),
(ArrayList<Object>)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<Utf8String, Object> 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<Utf8String,
Object>)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<Utf8String, Object> 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<byte>)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<byte> active;
private ReadOnlySpan<Byte> 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<Utf8String, Object> 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<Utf8String, Object> 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<Utf8String, Object>)value));
break;
default:
throw new IllegalStateException();
break;
}
}
return address;
}
private static PostalCode MakePostalCode(HashMap<Utf8String, Object> 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<String,
Address> field,
ArrayList<Object> list) {
for (Object item : list) {
ArrayList<Object> tuple = (ArrayList<Object>)item;
String key = ((Utf8String)tuple.get(0)).toString();
Address value =
ProtobufRowGenerator.MakeAddress((HashMap<Utf8String, Object>)tuple.get(1));
field.Add(key, value);
}
}
private static void PopulateStringList(RepeatedField<String> field, ArrayList<Object> 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<Utf8String, Object> 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<Object>)value);
}
break;
case "phone_numbers":
if (value != null) {
ProtobufRowGenerator.PopulateStringList(room.getPhoneNumbers(), (ArrayList<Object>)value);
}
break;
case "addresses":
if (value != null) {
ProtobufRowGenerator.PopulateStringAddressMap(room.getAddresses(),
(ArrayList<Object>)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<Utf8String, Object> 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<Utf8String,
Object>)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<Utf8String, Object> 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<byte>)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);
}
}
}

View File

@@ -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<object, Task> 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<object, Task> body)
private static Task BenchmarkAsync(BenchmarkContext context, tangible.Func1Param<Object, Task> 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<byte> resizer = new MemorySpanResizer<byte>(ReaderBenchmark.InitialCapacity);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<Segment> tempOut__ =
new Out<Segment>();
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<byte> buffer, LayoutResolver resolver)
private static Result VisitOneRow(Memory<Byte> buffer, LayoutResolver resolver) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<Task> tasks;
private Thread worker;
// Creates a new instance with the specified degree of parallelism.
public SingleThreadedTaskScheduler() {
this.tasks = new ConcurrentQueue<Task>();
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<Task> 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<Task> tempOut_item = new Out<Task>();
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<object, Task> 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<object, Task> body)
private static Task BenchmarkAsync(BenchmarkContext context, tangible.Func1Param<Object, Task> 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<byte> resizer = new MemorySpanResizer<byte>(ReaderBenchmark.InitialCapacity);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<Segment> tempOut__ =
new Out<Segment>();
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<byte> buffer, LayoutResolver resolver)
private static Result VisitOneRow(Memory<Byte> buffer, LayoutResolver resolver) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<Task> tasks;
private Thread worker;
// Creates a new instance with the specified degree of parallelism.
public SingleThreadedTaskScheduler() {
this.tasks = new ConcurrentQueue<Task>();
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<Task> 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<Task> tempOut_item = new Out<Task>();
if (this.tasks.TryDequeue(tempOut_item)) {
item = tempOut_item.get();
this.TryExecuteTask(item);
} else {
item = tempOut_item.get();
this.ready.WaitOne(TimeSpan.FromSeconds(1));
}
}
}
}
}

View File

@@ -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<RowReader> 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<RowReader> 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;
}
}

View File

@@ -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";
}

View File

@@ -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<HashMap<Utf8String,
Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(expected.size());
try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) {
for (HashMap<Utf8String, Object> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<HashMap<Utf8String,
Object>> expected) {
try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) {
BenchmarkContext ignoredContext = null;
Reference<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
writer.Reset();
writer.WriteBuffer(tableValue);
}, (ref BenchmarkContext _, HashMap<Utf8String, Object> tableValue) -> writer.getLength(), expected);
ignoredContext = tempReference_ignoredContext.get();
}
}
private static void JsonModelReadBenchmark(LayoutResolverNamespace resolver, String schemaName,
String dataSetName, int innerLoopIterations,
ArrayList<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<HashMap<Utf8String, Object>> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.JsonModelWriter.Reset();
Result r = ctx.JsonModelWriter.WriteBuffer(tableValue);
ResultAssert.IsSuccess(r);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> tableValue) -> ctx.JsonModelWriter.Length, expected);
context = tempReference_context.get();
}
private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList<HashMap<Utf8String,
Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<HashMap<Utf8String,
Object>> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<Utf8String,
Object> tableValue) ->
{
jsonStream.SetLength(0);
jsonSerializer.Serialize(jsonWriter, tableValue);
jsonWriter.Flush();
}, (ref BenchmarkContext _, HashMap<Utf8String, Object> 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<HashMap<Utf8String,
Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(expected.size());
try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) {
for (HashMap<Utf8String, Object> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<HashMap<Utf8String,
Object>> expected) {
try (BsonJsonModelRowGenerator writer = new BsonJsonModelRowGenerator(InitialCapacity)) {
BenchmarkContext ignoredContext = null;
Reference<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
writer.Reset();
writer.WriteBuffer(tableValue);
}, (ref BenchmarkContext _, HashMap<Utf8String, Object> tableValue) -> writer.getLength(), expected);
ignoredContext = tempReference_ignoredContext.get();
}
}
private static void JsonModelReadBenchmark(LayoutResolverNamespace resolver, String schemaName,
String dataSetName, int innerLoopIterations,
ArrayList<HashMap<Utf8String, Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<HashMap<Utf8String, Object>> 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<BenchmarkContext> tempReference_context = new Reference<BenchmarkContext>(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<Utf8String, Object> tableValue) ->
{
ctx.JsonModelWriter.Reset();
Result r = ctx.JsonModelWriter.WriteBuffer(tableValue);
ResultAssert.IsSuccess(r);
}, (ref BenchmarkContext ctx, HashMap<Utf8String, Object> tableValue) -> ctx.JsonModelWriter.Length, expected);
context = tempReference_context.get();
}
private static void JsonReadBenchmark(String dataSetName, int innerLoopIterations, ArrayList<HashMap<Utf8String,
Object>> 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<byte[]> expectedSerialized = new List<byte[]>(expected.Count);
ArrayList<byte[]> expectedSerialized = new ArrayList<byte[]>(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<Utf8String, Object> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<HashMap<Utf8String,
Object>> 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<BenchmarkContext> tempReference_ignoredContext = new Reference<BenchmarkContext>(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<Utf8String,
Object> tableValue) ->
{
jsonStream.SetLength(0);
jsonSerializer.Serialize(jsonWriter, tableValue);
jsonWriter.Flush();
}, (ref BenchmarkContext _, HashMap<Utf8String, Object> value) -> jsonStream.Length, expected);
ignoredContext = tempReference_ignoredContext.get();
}
}
}
}
}

View File

@@ -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;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Address> {
/**
* 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<String> _single_city_codec = Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_state_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(26);
private static final Google.Protobuf.FieldCodec<String> _single_street_codec =
Google.Protobuf.FieldCodec.<String>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<Address> Parser
public static Google.Protobuf.MessageParser<Address> 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;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Address> {
/**
* 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<String> _single_city_codec = Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_state_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(26);
private static final Google.Protobuf.FieldCodec<String> _single_street_codec =
Google.Protobuf.FieldCodec.<String>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<Address> Parser
public static Google.Protobuf.MessageParser<Address> 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);
}
}

View File

@@ -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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Available_Rooms_By_Hotel_Date> {
/**
* 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<Available_Rooms_By_Hotel_Date> _parser =
new Google.Protobuf.MessageParser<Available_Rooms_By_Hotel_Date>(() -> new Available_Rooms_By_Hotel_Date());
private static final Google.Protobuf.FieldCodec<Long> _single_date_codec =
Google.Protobuf.FieldCodec.<Long>ForStructWrapper(18);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_hotelId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
private static final Google.Protobuf.FieldCodec<Boolean> _single_isAvailable_codec =
Google.Protobuf.FieldCodec.<Boolean>ForStructWrapper(34);
private static final Google.Protobuf.FieldCodec<Integer> _single_roomNumber_codec =
Google.Protobuf.FieldCodec.<Integer>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<long> 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<bool> 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<Available_Rooms_By_Hotel_Date> Parser
public static Google.Protobuf.MessageParser<Available_Rooms_By_Hotel_Date> getParser() {
return _parser;
}
// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable<int> 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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Available_Rooms_By_Hotel_Date> {
/**
* 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<Available_Rooms_By_Hotel_Date> _parser =
new Google.Protobuf.MessageParser<Available_Rooms_By_Hotel_Date>(() -> new Available_Rooms_By_Hotel_Date());
private static final Google.Protobuf.FieldCodec<Long> _single_date_codec =
Google.Protobuf.FieldCodec.<Long>ForStructWrapper(18);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_hotelId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
private static final Google.Protobuf.FieldCodec<Boolean> _single_isAvailable_codec =
Google.Protobuf.FieldCodec.<Boolean>ForStructWrapper(34);
private static final Google.Protobuf.FieldCodec<Integer> _single_roomNumber_codec =
Google.Protobuf.FieldCodec.<Integer>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<long> 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<bool> 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<Available_Rooms_By_Hotel_Date> Parser
public static Google.Protobuf.MessageParser<Available_Rooms_By_Hotel_Date> getParser() {
return _parser;
}
// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable<int> 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);
}
}

View File

@@ -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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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
}

View File

@@ -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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Guests> {
/**
* 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<String, Address>.Codec _map_addresses_codec =
new Google.Protobuf.Collections.MapField<String, Address>.Codec(Google.Protobuf.FieldCodec.ForString(10),
Google.Protobuf.FieldCodec.ForMessage(18,
Address.getParser()), 58);
private static final Google.Protobuf.MessageParser<Guests> _parser =
new Google.Protobuf.MessageParser<Guests>(() -> new Guests());
private static final Google.Protobuf.FieldCodec<String> _repeated_emails_codec =
Google.Protobuf.FieldCodec.ForString(42);
private static final Google.Protobuf.FieldCodec<String> _repeated_phoneNumbers_codec =
Google.Protobuf.FieldCodec.ForString(50);
private static final Google.Protobuf.FieldCodec<String> _single_confirmNumber_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(66);
private static final Google.Protobuf.FieldCodec<String> _single_firstName_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
private static final Google.Protobuf.FieldCodec<String> _single_guestId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
private static final Google.Protobuf.FieldCodec<String> _single_lastName_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(26);
private static final Google.Protobuf.FieldCodec<String> _single_title_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(34);
private final Google.Protobuf.Collections.MapField<String, Address> addresses_ =
new Google.Protobuf.Collections.MapField<String, Address>();
private final Google.Protobuf.Collections.RepeatedField<String> emails_ =
new Google.Protobuf.Collections.RepeatedField<String>();
private final Google.Protobuf.Collections.RepeatedField<String> phoneNumbers_ =
new Google.Protobuf.Collections.RepeatedField<String>();
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<string, azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.Protobuf.Address>
// Addresses
public Google.Protobuf.Collections.MapField<String, Address> 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<string> Emails
public Google.Protobuf.Collections.RepeatedField<String> 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<Guests> Parser
public static Google.Protobuf.MessageParser<Guests> 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<string> PhoneNumbers
public Google.Protobuf.Collections.RepeatedField<String> 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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Guests> {
/**
* 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<String, Address>.Codec _map_addresses_codec =
new Google.Protobuf.Collections.MapField<String, Address>.Codec(Google.Protobuf.FieldCodec.ForString(10),
Google.Protobuf.FieldCodec.ForMessage(18,
Address.getParser()), 58);
private static final Google.Protobuf.MessageParser<Guests> _parser =
new Google.Protobuf.MessageParser<Guests>(() -> new Guests());
private static final Google.Protobuf.FieldCodec<String> _repeated_emails_codec =
Google.Protobuf.FieldCodec.ForString(42);
private static final Google.Protobuf.FieldCodec<String> _repeated_phoneNumbers_codec =
Google.Protobuf.FieldCodec.ForString(50);
private static final Google.Protobuf.FieldCodec<String> _single_confirmNumber_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(66);
private static final Google.Protobuf.FieldCodec<String> _single_firstName_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
private static final Google.Protobuf.FieldCodec<String> _single_guestId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
private static final Google.Protobuf.FieldCodec<String> _single_lastName_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(26);
private static final Google.Protobuf.FieldCodec<String> _single_title_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(34);
private final Google.Protobuf.Collections.MapField<String, Address> addresses_ =
new Google.Protobuf.Collections.MapField<String, Address>();
private final Google.Protobuf.Collections.RepeatedField<String> emails_ =
new Google.Protobuf.Collections.RepeatedField<String>();
private final Google.Protobuf.Collections.RepeatedField<String> phoneNumbers_ =
new Google.Protobuf.Collections.RepeatedField<String>();
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<string, azure.data.cosmos.serialization.hybridrow.perf.cassandrahotel.Protobuf.Address>
// Addresses
public Google.Protobuf.Collections.MapField<String, Address> 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<string> Emails
public Google.Protobuf.Collections.RepeatedField<String> 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<Guests> Parser
public static Google.Protobuf.MessageParser<Guests> 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<string> PhoneNumbers
public Google.Protobuf.Collections.RepeatedField<String> 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);
}
}

View File

@@ -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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Hotels> {
/**
* 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<Hotels> _parser =
new Google.Protobuf.MessageParser<Hotels>(() -> new Hotels());
private static final Google.Protobuf.FieldCodec<String> _single_hotelId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_name_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
private static final Google.Protobuf.FieldCodec<String> _single_phone_codec =
Google.Protobuf.FieldCodec.<String>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<Hotels> Parser
public static Google.Protobuf.MessageParser<Hotels> 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.*;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<Hotels> {
/**
* 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<Hotels> _parser =
new Google.Protobuf.MessageParser<Hotels>(() -> new Hotels());
private static final Google.Protobuf.FieldCodec<String> _single_hotelId_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(10);
// TODO: C# TO JAVA CONVERTER: Java does not support 'partial' methods:
// partial void OnConstruction();
private static final Google.Protobuf.FieldCodec<String> _single_name_codec =
Google.Protobuf.FieldCodec.<String>ForClassWrapper(18);
private static final Google.Protobuf.FieldCodec<String> _single_phone_codec =
Google.Protobuf.FieldCodec.<String>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<Hotels> Parser
public static Google.Protobuf.MessageParser<Hotels> 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);
}
}

View File

@@ -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;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<PostalCode> {
/**
* 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<PostalCode> _parser = new Parser<PostalCode>(() -> new PostalCode());
private static final Google.Protobuf.FieldCodec<Integer> _single_plus4_codec =
Google.Protobuf.FieldCodec.<Integer>ForStructWrapper(18);
private static final Google.Protobuf.FieldCodec<Integer> _single_zip_codec =
Google.Protobuf.FieldCodec.<Integer>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<PostalCode> Parser
public static Google.Protobuf.MessageParser<PostalCode> getParser() {
return _parser;
}
// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable<int> 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<int> 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;
// <auto-generated>
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: TestData/CassandraHotelSchema.proto
// </auto-generated>
//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<PostalCode> {
/**
* 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<PostalCode> _parser = new Parser<PostalCode>(() -> new PostalCode());
private static final Google.Protobuf.FieldCodec<Integer> _single_plus4_codec =
Google.Protobuf.FieldCodec.<Integer>ForStructWrapper(18);
private static final Google.Protobuf.FieldCodec<Integer> _single_zip_codec =
Google.Protobuf.FieldCodec.<Integer>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<PostalCode> Parser
public static Google.Protobuf.MessageParser<PostalCode> getParser() {
return _parser;
}
// TODO: C# TO JAVA CONVERTER: Java annotations will not correspond to .NET attributes:
//ORIGINAL LINE: [System.Diagnostics.DebuggerNonUserCodeAttribute] public Nullable<int> 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<int> 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);
}
}

View File

@@ -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 <T> 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 <T> 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 <T> 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 <T> 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 <T> 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 <T> 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);
}
}
}

View File

@@ -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 <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @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 <paramref name="action" /> does
* not throws exception of type <typeparamref name="T" />.
*
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> T ThrowsException(tangible.Action0Param action, String message) {
return AssertThrowsException.ThrowsException(action, message, null);
}
/**
* Tests whether the code specified by delegate <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @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 <paramref name="action" /> does
* not throws exception of type <typeparamref name="T" />.
* @param parameters An array of parameters to use when formatting <paramref name="message" />.
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> 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 <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @param action Delegate to code to be tested and which is expected to throw exception.
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> 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 <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @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 <paramref name="action" /> does
* not throws exception of type <typeparamref name="T" />.
*
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> T ThrowsException(tangible.Action0Param action, String message) {
return AssertThrowsException.ThrowsException(action, message, null);
}
/**
* Tests whether the code specified by delegate <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @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 <paramref name="action" /> does
* not throws exception of type <typeparamref name="T" />.
* @param parameters An array of parameters to use when formatting <paramref name="message" />.
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> 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 <paramref name="action" /> throws exact given
* exception of type <typeparamref name="T" /> (and not of derived type) and throws <code>
* AssertFailedException
* </code> if code does not throws exception or throws exception of type other than
* <typeparamref name="T" />.
*
* @param action Delegate to code to be tested and which is expected to throw exception.
* <typeparam name="T">Type of exception expected to be thrown.</typeparam>
* @return The exception that was thrown.
* @throws T:Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException Thrown if
* <paramref name="action" /> does
* not throws exception of type
* <typeparamref name="T" />.
*/
public static <T extends RuntimeException> T ThrowsException(tangible.Action0Param action) {
return AssertThrowsException.ThrowsException(action, "", null);
}
}

View File

@@ -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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue value) {
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().deleteSparse(tempReference_Row, root));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedArray>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedMap>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchNullable(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutNullable>typeAs().DeleteScope(tempReference_Row, scope));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedSet>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchTuple(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutIndexedScope>typeAs().DeleteScope(tempReference_Row, scope));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs, Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutUDT>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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue value) {
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().deleteSparse(tempReference_Row, root));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedArray>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedMap>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchNullable(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutNullable>typeAs().DeleteScope(tempReference_Row, scope));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutTypedSet>typeAs().DeleteScope(tempReference_Row3, scope));
dispatcher.get().argValue.Row = tempReference_Row3.get();
}
public void DispatchTuple(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutIndexedScope>typeAs().DeleteScope(tempReference_Row, scope));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs, Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<LayoutUDT>typeAs().DeleteScope(tempReference_Row, scope));
dispatcher.get().argValue.Row = tempReference_Row.get();
}
}

View File

@@ -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<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope);
}

View File

@@ -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 {
<TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor scope,
// LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>;
<TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutColumn col,
LayoutType t, TValue value);
void DispatchArray(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchMap(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchNullable(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchObject(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope);
void DispatchSet(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchTuple(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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 {
<TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor scope,
// LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>;
<TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutColumn col,
LayoutType t, TValue value);
void DispatchArray(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchMap(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchNullable(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchObject(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope);
void DispatchSet(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchTuple(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType t, TypeArgumentList typeArgs, Object value);
void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope,
LayoutType type, TypeArgumentList typeArgs, Object value);
}

View File

@@ -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());
}
}

View File

@@ -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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue expected) {
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadFixed(tempReference_Row, root, col, out _));
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadVariable(tempReference_Row2, root, col, out _));
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadSparse(tempReference_Row3, root, out _));
dispatcher.get().argValue.Row = tempReference_Row3.get();
break;
}
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs, Object value) {
}
public void DispatchNullable(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchTuple(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue expected) {
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadFixed(tempReference_Row, root, col, out _));
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadVariable(tempReference_Row2, root, col, out _));
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(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.<TLayout>TypeAs().ReadSparse(tempReference_Row3, root, out _));
dispatcher.get().argValue.Row = tempReference_Row3.get();
break;
}
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs, Object value) {
}
public void DispatchNullable(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchTuple(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs, Object value) {
}
}

View File

@@ -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 <T> java.lang.Iterable<java.lang.Iterable<T>> Permute(java.lang.Iterable<T> list) {
int start = 0;
for (T element : list) {
int index = start;
T[] first = { element };
java.lang.Iterable<T> 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<T> 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 <T> java.lang.Iterable<java.lang.Iterable<T>> Permute(java.lang.Iterable<T> list) {
int start = 0;
for (T element : list) {
int index = start;
T[] first = { element };
java.lang.Iterable<T> 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<T> 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++;
}
}
}

View File

@@ -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;
}
}
}

View File

@@ -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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue expected) {
TValue value;
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>typeAs().readFixed(tempReference_Row, root, col, tempOut_value));
value = tempOut_value.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value2 = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>typeAs().readVariable(tempReference_Row2, root, col, tempOut_value2));
value = tempOut_value2.get();
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value3 = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor nullableScope;
Out<RowCursor> tempOut_nullableScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutNullable>typeAs().ReadScope(tempReference_Row, scope, tempOut_nullableScope));
nullableScope = tempOut_nullableScope.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
if (value != null) {
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_nullableScope =
new Reference<RowCursor>(nullableScope);
ResultAssert.IsSuccess(LayoutNullable.HasValue(tempReference_Row2, tempReference_nullableScope));
nullableScope = tempReference_nullableScope.get();
dispatcher.get().argValue.Row = tempReference_Row2.get();
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row4 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_nullableScope2 =
new Reference<RowCursor>(nullableScope);
ResultAssert.NotFound(LayoutNullable.HasValue(tempReference_Row4, tempReference_nullableScope2));
nullableScope = tempReference_nullableScope2.get();
dispatcher.get().argValue.Row = tempReference_Row4.get();
}
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor tupleScope;
Out<RowCursor> tempOut_tupleScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutIndexedScope>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor udtScope;
Out<RowCursor> tempOut_udtScope = new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutUDT>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<RowCursor> tempReference_udtScope = new Reference<RowCursor>(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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor root,
// LayoutColumn col, LayoutType t, TValue expected = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> root, LayoutColumn col, LayoutType t, TValue expected) {
TValue value;
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>typeAs().readFixed(tempReference_Row, root, col, tempOut_value));
value = tempOut_value.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value2 = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>typeAs().readVariable(tempReference_Row2, root, col, tempOut_value2));
value = tempOut_value2.get();
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Out<TValue> tempOut_value3 = new Out<TValue>();
ResultAssert.IsSuccess(t.<TLayout>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor nullableScope;
Out<RowCursor> tempOut_nullableScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutNullable>typeAs().ReadScope(tempReference_Row, scope, tempOut_nullableScope));
nullableScope = tempOut_nullableScope.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
if (value != null) {
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_nullableScope =
new Reference<RowCursor>(nullableScope);
ResultAssert.IsSuccess(LayoutNullable.HasValue(tempReference_Row2, tempReference_nullableScope));
nullableScope = tempReference_nullableScope.get();
dispatcher.get().argValue.Row = tempReference_Row2.get();
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row4 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_nullableScope2 =
new Reference<RowCursor>(nullableScope);
ResultAssert.NotFound(LayoutNullable.HasValue(tempReference_Row4, tempReference_nullableScope2));
nullableScope = tempReference_nullableScope2.get();
dispatcher.get().argValue.Row = tempReference_Row4.get();
}
}
public void DispatchObject(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor tupleScope;
Out<RowCursor> tempOut_tupleScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutIndexedScope>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor udtScope;
Out<RowCursor> tempOut_udtScope = new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutUDT>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<RowCursor> tempReference_udtScope = new Reference<RowCursor>(udtScope);
valueDispatcher.Dispatch(dispatcher, tempReference_udtScope);
udtScope = tempReference_udtScope.get();
}
}

View File

@@ -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<byte> resizer = new MemorySpanResizer<byte>(RecordIOUnitTests
// .InitialRowSize);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<byte> body) =>
Result r = await
RecordIOStream.WriteRecordIOAsync(stm,
new Segment(sampleComment, sampleSDL), (long index, out ReadOnlyMemory<Byte>body) ->
{
body = null;
if (index >= addresses.length) {
return Result.SUCCESS;
}
Out<ReadOnlyMemory<Byte>> tempOut_body = new Out<ReadOnlyMemory<Byte>>();
Task tempVar5 = this.WriteAddress(resizer, addresses[index], tempOut_body);
body = tempOut_body.get();
return tempVar5;
});
// Read a RecordIO stream.
ArrayList<Address> addressesRead = new ArrayList<Address>();
stm.Position = 0;
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: resizer = new MemorySpanResizer<byte>(1);
resizer = new MemorySpanResizer<Byte>(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<Address> tempOut_obj = new Out<Address>();
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<Segment> tempOut_obj =
new Out<Segment>();
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<byte> buffer, out Address obj)
private Result ReadAddress(Memory<Byte> buffer, Out<Address> obj) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, this.resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
// Use the reader to dump to the screen.
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader2 =
new Reference<RowReader>(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<byte> buffer, out Segment obj)
private Result ReadSegment(Memory<Byte> buffer, Out<Segment> obj) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, SystemSchema.LayoutResolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
// Use the reader to dump to the screen.
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<RowBuffer> tempReference_row2 = new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader2 = new Reference<RowReader>(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<byte> resizer, Address obj, out
// ReadOnlyMemory<byte> buffer)
private Result WriteAddress(MemorySpanResizer<Byte> resizer, Address obj,
Out<ReadOnlyMemory<Byte>> buffer) {
RowBuffer row = new RowBuffer(RecordIOUnitTests.InitialRowSize, resizer);
row.initLayout(HybridRowVersion.V1, this.addressLayout, this.resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<byte> resizer = new MemorySpanResizer<byte>(RecordIOUnitTests
// .InitialRowSize);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<byte> body) =>
Result r = await
RecordIOStream.WriteRecordIOAsync(stm,
new Segment(sampleComment, sampleSDL), (long index, out ReadOnlyMemory<Byte>body) ->
{
body = null;
if (index >= addresses.length) {
return Result.SUCCESS;
}
Out<ReadOnlyMemory<Byte>> tempOut_body = new Out<ReadOnlyMemory<Byte>>();
Task tempVar5 = this.WriteAddress(resizer, addresses[index], tempOut_body);
body = tempOut_body.get();
return tempVar5;
});
// Read a RecordIO stream.
ArrayList<Address> addressesRead = new ArrayList<Address>();
stm.Position = 0;
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: resizer = new MemorySpanResizer<byte>(1);
resizer = new MemorySpanResizer<Byte>(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<Address> tempOut_obj = new Out<Address>();
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<Segment> tempOut_obj =
new Out<Segment>();
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<byte> buffer, out Address obj)
private Result ReadAddress(Memory<Byte> buffer, Out<Address> obj) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, this.resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
// Use the reader to dump to the screen.
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader2 =
new Reference<RowReader>(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<byte> buffer, out Segment obj)
private Result ReadSegment(Memory<Byte> buffer, Out<Segment> obj) {
RowBuffer row = new RowBuffer(buffer.Span, HybridRowVersion.V1, SystemSchema.LayoutResolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row);
row = tempReference_row.get();
// Use the reader to dump to the screen.
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(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<RowBuffer> tempReference_row2 = new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader2 = new Reference<RowReader>(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<byte> resizer, Address obj, out
// ReadOnlyMemory<byte> buffer)
private Result WriteAddress(MemorySpanResizer<Byte> resizer, Address obj,
Out<ReadOnlyMemory<Byte>> buffer) {
RowBuffer row = new RowBuffer(RecordIOUnitTests.InitialRowSize, resizer);
row.initLayout(HybridRowVersion.V1, this.addressLayout, this.resolver);
Reference<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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;
}
}

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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<TDispatcher>(Layout layout, LayoutResolver resolver)
// where TDispatcher : struct, IDispatcher
public static <TDispatcher extends IDispatcher> RowOperationDispatcher Create(Layout layout,
LayoutResolver resolver) {
return new RowOperationDispatcher(null, layout, resolver);
}
public RowReader GetReader() {
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(this.Row);
RowCursor root = RowCursor.create(tempReference_Row);
this.Row = tempReference_Row.get();
Reference<RowCursor> tempReference_root =
new Reference<RowCursor>(root);
this.LayoutCodeSwitch(tempReference_root, path, type, typeArgs.clone(), value);
root = tempReference_root.get();
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path, LayoutType type,
TypeArgumentList typeArgs) {
LayoutCodeSwitch(scope, path, type, typeArgs, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path, LayoutType type) {
LayoutCodeSwitch(scope, path, type, null, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path) {
LayoutCodeSwitch(scope, path, null, null, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> 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<RowCursor> scope, String path, LayoutType type,
TypeArgumentList typeArgs, Object value) {
LayoutColumn col = null;
if (type == null) {
assert path != null;
Out<LayoutColumn> tempOut_col =
new Out<LayoutColumn>();
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<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(this.Row);
scope.get().Find(tempReference_Row, path);
this.Row = tempReference_Row.get();
}
switch (type.LayoutCode) {
case Null:
Reference<RowOperationDispatcher> tempReference_this = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutNull, NullValue>Dispatch(tempReference_this, scope, col, type, NullValue.DEFAULT);
this = tempReference_this.get();
break;
case Boolean:
Reference<RowOperationDispatcher> tempReference_this2 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutBoolean, Boolean>Dispatch(tempReference_this2, scope, col, type,
value != null ? value :
default)
this = tempReference_this2.get();
break;
case Int8:
Reference<RowOperationDispatcher> tempReference_this3 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt8, Byte>Dispatch(tempReference_this3, scope, col, type, value != null ?
value :
default)
this = tempReference_this3.get();
break;
case Int16:
Reference<RowOperationDispatcher> tempReference_this4 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt16, Short>Dispatch(tempReference_this4, scope, col, type, value != null ?
value :
default)
this = tempReference_this4.get();
break;
case Int32:
Reference<RowOperationDispatcher> tempReference_this5 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt32, Integer>Dispatch(tempReference_this5, scope, col, type,
value != null ? value :
default)
this = tempReference_this5.get();
break;
case Int64:
Reference<RowOperationDispatcher> tempReference_this6 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt64, Long>Dispatch(tempReference_this6, scope, col, type, value != null ?
value :
default)
this = tempReference_this6.get();
break;
case UInt8:
Reference<RowOperationDispatcher> tempReference_this7 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt8, byte>(tempRef_this7, scope, col, type,
// (Nullable<byte>)value != null ? value : default);
this.dispatcher.<LayoutUInt8, Byte>Dispatch(tempReference_this7, scope, col, type, value != null ?
value :
default)
this = tempReference_this7.get();
break;
case UInt16:
Reference<RowOperationDispatcher> tempReference_this8 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt16, ushort>(tempRef_this8, scope, col, type,
// (Nullable<ushort>)value != null ? value : default);
this.dispatcher.<LayoutUInt16, Short>Dispatch(tempReference_this8, scope, col, type, value != null ?
value :
default)
this = tempReference_this8.get();
break;
case UInt32:
Reference<RowOperationDispatcher> tempReference_this9 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt32, uint>(tempRef_this9, scope, col, type,
// (Nullable<uint>)value != null ? value : default);
this.dispatcher.<LayoutUInt32, Integer>Dispatch(tempReference_this9, scope, col, type,
value != null ? value :
default)
this = tempReference_this9.get();
break;
case UInt64:
Reference<RowOperationDispatcher> tempReference_this10 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt64, ulong>(tempRef_this10, scope, col, type,
// (Nullable<ulong>)value != null ? value : default);
this.dispatcher.<LayoutUInt64, Long>Dispatch(tempReference_this10, scope, col, type, value != null ?
value :
default)
this = tempReference_this10.get();
break;
case VarInt:
Reference<RowOperationDispatcher> tempReference_this11 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutVarInt, Long>Dispatch(tempReference_this11, scope, col, type, value != null ?
value :
default)
this = tempReference_this11.get();
break;
case VarUInt:
Reference<RowOperationDispatcher> tempReference_this12 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutVarUInt, ulong>(tempRef_this12, scope, col, type,
// (Nullable<ulong>)value != null ? value : default);
this.dispatcher.<LayoutVarUInt, Long>Dispatch(tempReference_this12, scope, col, type, value != null ?
value :
default)
this = tempReference_this12.get();
break;
case Float32:
Reference<RowOperationDispatcher> tempReference_this13 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat32, Float>Dispatch(tempReference_this13, scope, col, type,
value != null ? value :
default)
this = tempReference_this13.get();
break;
case Float64:
Reference<RowOperationDispatcher> tempReference_this14 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat64, Double>Dispatch(tempReference_this14, scope, col, type,
value != null ? value :
default)
this = tempReference_this14.get();
break;
case Float128:
Reference<RowOperationDispatcher> tempReference_this15 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat128, Float128>Dispatch(tempReference_this15, scope, col, type,
value != null ? value :
default)
this = tempReference_this15.get();
break;
case Decimal:
Reference<RowOperationDispatcher> tempReference_this16 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutDecimal, BigDecimal>Dispatch(tempReference_this16, scope, col, type,
value != null ? value :
default)
this = tempReference_this16.get();
break;
case DateTime:
Reference<RowOperationDispatcher> tempReference_this17 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutDateTime, LocalDateTime>Dispatch(tempReference_this17, scope, col, type,
value != null ? value :
default)
this = tempReference_this17.get();
break;
case UnixDateTime:
Reference<RowOperationDispatcher> tempReference_this18 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutUnixDateTime, UnixDateTime>Dispatch(tempReference_this18, scope, col, type,
value != null ? value :
default)
this = tempReference_this18.get();
break;
case Guid:
Reference<RowOperationDispatcher> tempReference_this19 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutGuid, UUID>Dispatch(tempReference_this19, scope, col, type, value != null ?
value :
default)
this = tempReference_this19.get();
break;
case MongoDbObjectId:
Reference<RowOperationDispatcher> tempReference_this20 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutMongoDbObjectId, MongoDbObjectId>Dispatch(tempReference_this20, scope, col, type,
value != null ? value :
default)
this = tempReference_this20.get();
break;
case Utf8:
Reference<RowOperationDispatcher> tempReference_this21 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutUtf8, String>Dispatch(tempReference_this21, scope, col, type, (String)value);
this = tempReference_this21.get();
break;
case Binary:
Reference<RowOperationDispatcher> tempReference_this22 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutBinary, byte[]>(ref this, ref scope, col, type,
// (byte[])value);
this.dispatcher.<LayoutBinary, byte[]>Dispatch(tempReference_this22, scope, col, type, (byte[])value);
this = tempReference_this22.get();
break;
case ObjectScope:
case ImmutableObjectScope:
Reference<RowOperationDispatcher> tempReference_this23 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchObject(tempReference_this23, scope);
this = tempReference_this23.get();
break;
case TypedArrayScope:
case ImmutableTypedArrayScope:
Reference<RowOperationDispatcher> tempReference_this24 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchArray(tempReference_this24, scope, type, typeArgs.clone(), value);
this = tempReference_this24.get();
break;
case TypedSetScope:
case ImmutableTypedSetScope:
Reference<RowOperationDispatcher> tempReference_this25 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchSet(tempReference_this25, scope, type, typeArgs.clone(), value);
this = tempReference_this25.get();
break;
case TypedMapScope:
case ImmutableTypedMapScope:
Reference<RowOperationDispatcher> tempReference_this26 = new Reference<RowOperationDispatcher>(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<RowOperationDispatcher> tempReference_this27 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchTuple(tempReference_this27, scope, type, typeArgs.clone(), value);
this = tempReference_this27.get();
break;
case NullableScope:
Reference<RowOperationDispatcher> tempReference_this28 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchNullable(tempReference_this28, scope, type, typeArgs.clone(), value);
this = tempReference_this28.get();
break;
case Schema:
case ImmutableSchema:
Reference<RowOperationDispatcher> tempReference_this29 = new Reference<RowOperationDispatcher>(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<TDispatcher>(LayoutResolver resolver, string
// expected) where TDispatcher : struct, IDispatcher
public static <TDispatcher extends IDispatcher> 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<byte> bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position);
ReadOnlyMemory<Byte> 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<TDispatcher>(Layout layout, LayoutResolver resolver)
// where TDispatcher : struct, IDispatcher
public static <TDispatcher extends IDispatcher> RowOperationDispatcher Create(Layout layout,
LayoutResolver resolver) {
return new RowOperationDispatcher(null, layout, resolver);
}
public RowReader GetReader() {
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(this.Row);
RowCursor root = RowCursor.create(tempReference_Row);
this.Row = tempReference_Row.get();
Reference<RowCursor> tempReference_root =
new Reference<RowCursor>(root);
this.LayoutCodeSwitch(tempReference_root, path, type, typeArgs.clone(), value);
root = tempReference_root.get();
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path, LayoutType type,
TypeArgumentList typeArgs) {
LayoutCodeSwitch(scope, path, type, typeArgs, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path, LayoutType type) {
LayoutCodeSwitch(scope, path, type, null, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> scope, String path) {
LayoutCodeSwitch(scope, path, null, null, null);
}
public void LayoutCodeSwitch(Reference<RowCursor> 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<RowCursor> scope, String path, LayoutType type,
TypeArgumentList typeArgs, Object value) {
LayoutColumn col = null;
if (type == null) {
assert path != null;
Out<LayoutColumn> tempOut_col =
new Out<LayoutColumn>();
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<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(this.Row);
scope.get().Find(tempReference_Row, path);
this.Row = tempReference_Row.get();
}
switch (type.LayoutCode) {
case Null:
Reference<RowOperationDispatcher> tempReference_this = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutNull, NullValue>Dispatch(tempReference_this, scope, col, type, NullValue.DEFAULT);
this = tempReference_this.get();
break;
case Boolean:
Reference<RowOperationDispatcher> tempReference_this2 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutBoolean, Boolean>Dispatch(tempReference_this2, scope, col, type,
value != null ? value :
default)
this = tempReference_this2.get();
break;
case Int8:
Reference<RowOperationDispatcher> tempReference_this3 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt8, Byte>Dispatch(tempReference_this3, scope, col, type, value != null ?
value :
default)
this = tempReference_this3.get();
break;
case Int16:
Reference<RowOperationDispatcher> tempReference_this4 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt16, Short>Dispatch(tempReference_this4, scope, col, type, value != null ?
value :
default)
this = tempReference_this4.get();
break;
case Int32:
Reference<RowOperationDispatcher> tempReference_this5 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt32, Integer>Dispatch(tempReference_this5, scope, col, type,
value != null ? value :
default)
this = tempReference_this5.get();
break;
case Int64:
Reference<RowOperationDispatcher> tempReference_this6 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutInt64, Long>Dispatch(tempReference_this6, scope, col, type, value != null ?
value :
default)
this = tempReference_this6.get();
break;
case UInt8:
Reference<RowOperationDispatcher> tempReference_this7 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt8, byte>(tempRef_this7, scope, col, type,
// (Nullable<byte>)value != null ? value : default);
this.dispatcher.<LayoutUInt8, Byte>Dispatch(tempReference_this7, scope, col, type, value != null ?
value :
default)
this = tempReference_this7.get();
break;
case UInt16:
Reference<RowOperationDispatcher> tempReference_this8 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt16, ushort>(tempRef_this8, scope, col, type,
// (Nullable<ushort>)value != null ? value : default);
this.dispatcher.<LayoutUInt16, Short>Dispatch(tempReference_this8, scope, col, type, value != null ?
value :
default)
this = tempReference_this8.get();
break;
case UInt32:
Reference<RowOperationDispatcher> tempReference_this9 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt32, uint>(tempRef_this9, scope, col, type,
// (Nullable<uint>)value != null ? value : default);
this.dispatcher.<LayoutUInt32, Integer>Dispatch(tempReference_this9, scope, col, type,
value != null ? value :
default)
this = tempReference_this9.get();
break;
case UInt64:
Reference<RowOperationDispatcher> tempReference_this10 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutUInt64, ulong>(tempRef_this10, scope, col, type,
// (Nullable<ulong>)value != null ? value : default);
this.dispatcher.<LayoutUInt64, Long>Dispatch(tempReference_this10, scope, col, type, value != null ?
value :
default)
this = tempReference_this10.get();
break;
case VarInt:
Reference<RowOperationDispatcher> tempReference_this11 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutVarInt, Long>Dispatch(tempReference_this11, scope, col, type, value != null ?
value :
default)
this = tempReference_this11.get();
break;
case VarUInt:
Reference<RowOperationDispatcher> tempReference_this12 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutVarUInt, ulong>(tempRef_this12, scope, col, type,
// (Nullable<ulong>)value != null ? value : default);
this.dispatcher.<LayoutVarUInt, Long>Dispatch(tempReference_this12, scope, col, type, value != null ?
value :
default)
this = tempReference_this12.get();
break;
case Float32:
Reference<RowOperationDispatcher> tempReference_this13 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat32, Float>Dispatch(tempReference_this13, scope, col, type,
value != null ? value :
default)
this = tempReference_this13.get();
break;
case Float64:
Reference<RowOperationDispatcher> tempReference_this14 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat64, Double>Dispatch(tempReference_this14, scope, col, type,
value != null ? value :
default)
this = tempReference_this14.get();
break;
case Float128:
Reference<RowOperationDispatcher> tempReference_this15 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutFloat128, Float128>Dispatch(tempReference_this15, scope, col, type,
value != null ? value :
default)
this = tempReference_this15.get();
break;
case Decimal:
Reference<RowOperationDispatcher> tempReference_this16 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutDecimal, BigDecimal>Dispatch(tempReference_this16, scope, col, type,
value != null ? value :
default)
this = tempReference_this16.get();
break;
case DateTime:
Reference<RowOperationDispatcher> tempReference_this17 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutDateTime, LocalDateTime>Dispatch(tempReference_this17, scope, col, type,
value != null ? value :
default)
this = tempReference_this17.get();
break;
case UnixDateTime:
Reference<RowOperationDispatcher> tempReference_this18 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutUnixDateTime, UnixDateTime>Dispatch(tempReference_this18, scope, col, type,
value != null ? value :
default)
this = tempReference_this18.get();
break;
case Guid:
Reference<RowOperationDispatcher> tempReference_this19 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutGuid, UUID>Dispatch(tempReference_this19, scope, col, type, value != null ?
value :
default)
this = tempReference_this19.get();
break;
case MongoDbObjectId:
Reference<RowOperationDispatcher> tempReference_this20 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutMongoDbObjectId, MongoDbObjectId>Dispatch(tempReference_this20, scope, col, type,
value != null ? value :
default)
this = tempReference_this20.get();
break;
case Utf8:
Reference<RowOperationDispatcher> tempReference_this21 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.<LayoutUtf8, String>Dispatch(tempReference_this21, scope, col, type, (String)value);
this = tempReference_this21.get();
break;
case Binary:
Reference<RowOperationDispatcher> tempReference_this22 = new Reference<RowOperationDispatcher>(this);
//C# TO JAVA CONVERTER WARNING: Unsigned integer types have no direct equivalent in Java:
//ORIGINAL LINE: this.dispatcher.Dispatch<LayoutBinary, byte[]>(ref this, ref scope, col, type,
// (byte[])value);
this.dispatcher.<LayoutBinary, byte[]>Dispatch(tempReference_this22, scope, col, type, (byte[])value);
this = tempReference_this22.get();
break;
case ObjectScope:
case ImmutableObjectScope:
Reference<RowOperationDispatcher> tempReference_this23 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchObject(tempReference_this23, scope);
this = tempReference_this23.get();
break;
case TypedArrayScope:
case ImmutableTypedArrayScope:
Reference<RowOperationDispatcher> tempReference_this24 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchArray(tempReference_this24, scope, type, typeArgs.clone(), value);
this = tempReference_this24.get();
break;
case TypedSetScope:
case ImmutableTypedSetScope:
Reference<RowOperationDispatcher> tempReference_this25 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchSet(tempReference_this25, scope, type, typeArgs.clone(), value);
this = tempReference_this25.get();
break;
case TypedMapScope:
case ImmutableTypedMapScope:
Reference<RowOperationDispatcher> tempReference_this26 = new Reference<RowOperationDispatcher>(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<RowOperationDispatcher> tempReference_this27 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchTuple(tempReference_this27, scope, type, typeArgs.clone(), value);
this = tempReference_this27.get();
break;
case NullableScope:
Reference<RowOperationDispatcher> tempReference_this28 = new Reference<RowOperationDispatcher>(this);
this.dispatcher.DispatchNullable(tempReference_this28, scope, type, typeArgs.clone(), value);
this = tempReference_this28.get();
break;
case Schema:
case ImmutableSchema:
Reference<RowOperationDispatcher> tempReference_this29 = new Reference<RowOperationDispatcher>(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<TDispatcher>(LayoutResolver resolver, string
// expected) where TDispatcher : struct, IDispatcher
public static <TDispatcher extends IDispatcher> 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<byte> bytes = stm.GetBuffer().AsMemory(0, (int)stm.Position);
ReadOnlyMemory<Byte> 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;
}
}

View File

@@ -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<RowReader> reader, int indent) {
String str;
Out<String> tempOut_str = new Out<String>();
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.<WriteRowDispatcher>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<int8>", value:new byte[] { -86, -86, -86 })
d.LayoutCodeSwitch("array_t<array_t<float32>>", value:new float[][]
{
new float[] { 1, 2, 3 },
new float[] { 1, 2, 3 }
})
d.LayoutCodeSwitch("array_t<utf8>", value:new String[] { "abc", "def", "hij" })
d.LayoutCodeSwitch("tuple<varint,int64>", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L))
d.LayoutCodeSwitch("tuple<null,tuple<int8,int8>>", value:
Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86)))
d.LayoutCodeSwitch("tuple<bool,udt>", value:Tuple.Create(false, new Point(1, 2)))
d.LayoutCodeSwitch("nullable<int32,int64>", 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<utf8>", value: Tuple.Create((byte)3, "hello"));
d.LayoutCodeSwitch("tagged<utf8>", 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<bool,utf8>", value: Tuple.Create((byte)5, true, "bye"));
d.LayoutCodeSwitch("tagged<bool,utf8>", value:Tuple.Create((byte)5, true, "bye"))
d.LayoutCodeSwitch("set_t<utf8>", value:new String[] { "abc", "efg", "xzy" })
d.LayoutCodeSwitch("set_t<array_t<int8>>", value:new byte[][]
{
new byte[] { 1, 2, 3 },
new byte[] { 4, 5, 6 },
new byte[] { 7, 8, 9 }
})
d.LayoutCodeSwitch("set_t<set_t<int32>>", value:new int[][]
{
new int[] { 1, 2, 3 },
new int[] { 4, 5, 6 },
new int[] { 7, 8, 9 }
})
d.LayoutCodeSwitch("set_t<udt>", value:new Point[]
{
new Point(1, 2),
new Point(3, 4),
new Point(5, 6)
})
d.LayoutCodeSwitch("map_t<utf8,utf8>", value:
new System.Tuple<T1, T2>[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") })
d.LayoutCodeSwitch("map_t<int8,array_t<int8>>", value:
new System.Tuple<T1, T2>[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2,
new byte[] { 4, 5, 6 }) })
d.LayoutCodeSwitch("map_t<int16,map_t<int32,int32>>", value:
new System.Tuple<T1, T2>[] { Tuple.Create((short)1, new System.Tuple<T1, T2>[] { Tuple.Create(1, 2),
Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple<T1, T2>[] { Tuple.Create(5, 6),
Tuple.Create(7, 8) }) })
d.LayoutCodeSwitch("map_t<float64,udt>", value:
new System.Tuple<T1, T2>[] { 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<RowReader> tempReference_reader =
new Reference<RowReader>(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<byte> resizer = new MemorySpanResizer<byte>(0);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, 2, RowReaderUnitTests.WriteNestedDocument));
row = tempReference_row.get();
Reference<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
RowReader rowReader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_rowReader =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_rowReader, 0));
rowReader = tempReference_rowReader.get();
Reference<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
rowReader = new RowReader(tempReference_row3);
row = tempReference_row3.get();
Reference<RowReader> tempReference_rowReader2 =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_rowReader2, 0));
rowReader = tempReference_rowReader2.get();
Reference<RowBuffer> tempReference_row4 =
new Reference<RowBuffer>(row);
rowReader = new RowReader(tempReference_row4);
row = tempReference_row4.get();
Reference<RowReader> tempReference_rowReader3 =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegateWithSkipScope(tempReference_rowReader3, 0));
rowReader = tempReference_rowReader3.get();
// SkipScope not okay after advancing parent
Reference<RowBuffer> tempReference_row5 =
new Reference<RowBuffer>(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<RowReader> tempReference_nestedScope =
new Reference<RowReader>(nestedScope);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_nestedScope, 0));
nestedScope = tempReference_nestedScope.get();
assert rowReader.read();
Reference<RowReader> tempReference_nestedScope2 =
new Reference<RowReader>(nestedScope);
Result result = rowReader.skipScope(tempReference_nestedScope2);
nestedScope = tempReference_nestedScope2.get();
assert Result.SUCCESS != result;
}
private static Result ReadNestedDocumentDelegate(Reference<RowReader> 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<RowReader> reader, int context) {
while (reader.get().read()) {
switch (reader.get().type().LayoutCode) {
case TupleScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0));
nested = tempReference_nested.get();
break;
}
case ObjectScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested2 =
new Reference<RowReader>(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<RowReader> reader,
int context) {
while (reader.get().read()) {
switch (reader.get().type().LayoutCode) {
case TupleScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0));
nested = tempReference_nested.get();
Reference<RowReader> tempReference_nested2 =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested2));
nested = tempReference_nested2.get();
break;
}
case ObjectScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested3 =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested3, 0));
nested = tempReference_nested3.get();
ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate));
Reference<RowReader> tempReference_nested4 = new Reference<RowReader>(nested);
ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested4));
nested = tempReference_nested4.get();
break;
}
}
}
return Result.SUCCESS;
}
private static Result ReadTuplePartial(Reference<RowReader> 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<RowWriter> 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<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope) {
dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X)
dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y)
}
public Result Write(Reference<RowWriter> 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<RowReader> reader, int indent) {
String str;
Out<String> tempOut_str = new Out<String>();
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.<WriteRowDispatcher>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<int8>", value:new byte[] { -86, -86, -86 })
d.LayoutCodeSwitch("array_t<array_t<float32>>", value:new float[][]
{
new float[] { 1, 2, 3 },
new float[] { 1, 2, 3 }
})
d.LayoutCodeSwitch("array_t<utf8>", value:new String[] { "abc", "def", "hij" })
d.LayoutCodeSwitch("tuple<varint,int64>", value:Tuple.Create(-6148914691236517206L, -6148914691236517206L))
d.LayoutCodeSwitch("tuple<null,tuple<int8,int8>>", value:
Tuple.Create(NullValue.DEFAULT, Tuple.Create((byte)-86, (byte)-86)))
d.LayoutCodeSwitch("tuple<bool,udt>", value:Tuple.Create(false, new Point(1, 2)))
d.LayoutCodeSwitch("nullable<int32,int64>", 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<utf8>", value: Tuple.Create((byte)3, "hello"));
d.LayoutCodeSwitch("tagged<utf8>", 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<bool,utf8>", value: Tuple.Create((byte)5, true, "bye"));
d.LayoutCodeSwitch("tagged<bool,utf8>", value:Tuple.Create((byte)5, true, "bye"))
d.LayoutCodeSwitch("set_t<utf8>", value:new String[] { "abc", "efg", "xzy" })
d.LayoutCodeSwitch("set_t<array_t<int8>>", value:new byte[][]
{
new byte[] { 1, 2, 3 },
new byte[] { 4, 5, 6 },
new byte[] { 7, 8, 9 }
})
d.LayoutCodeSwitch("set_t<set_t<int32>>", value:new int[][]
{
new int[] { 1, 2, 3 },
new int[] { 4, 5, 6 },
new int[] { 7, 8, 9 }
})
d.LayoutCodeSwitch("set_t<udt>", value:new Point[]
{
new Point(1, 2),
new Point(3, 4),
new Point(5, 6)
})
d.LayoutCodeSwitch("map_t<utf8,utf8>", value:
new System.Tuple<T1, T2>[] { Tuple.Create("Mark", "Luke"), Tuple.Create("Harrison", "Han") })
d.LayoutCodeSwitch("map_t<int8,array_t<int8>>", value:
new System.Tuple<T1, T2>[] { Tuple.Create((byte)1, new byte[] { 1, 2, 3 }), Tuple.Create((byte)2,
new byte[] { 4, 5, 6 }) })
d.LayoutCodeSwitch("map_t<int16,map_t<int32,int32>>", value:
new System.Tuple<T1, T2>[] { Tuple.Create((short)1, new System.Tuple<T1, T2>[] { Tuple.Create(1, 2),
Tuple.Create(3, 4) }), Tuple.Create((short)2, new System.Tuple<T1, T2>[] { Tuple.Create(5, 6),
Tuple.Create(7, 8) }) })
d.LayoutCodeSwitch("map_t<float64,udt>", value:
new System.Tuple<T1, T2>[] { 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<RowReader> tempReference_reader =
new Reference<RowReader>(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<byte> resizer = new MemorySpanResizer<byte>(0);
MemorySpanResizer<Byte> resizer = new MemorySpanResizer<Byte>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
ResultAssert.IsSuccess(RowWriter.WriteBuffer(tempReference_row, 2, RowReaderUnitTests.WriteNestedDocument));
row = tempReference_row.get();
Reference<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
RowReader rowReader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_rowReader =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_rowReader, 0));
rowReader = tempReference_rowReader.get();
Reference<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
rowReader = new RowReader(tempReference_row3);
row = tempReference_row3.get();
Reference<RowReader> tempReference_rowReader2 =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_rowReader2, 0));
rowReader = tempReference_rowReader2.get();
Reference<RowBuffer> tempReference_row4 =
new Reference<RowBuffer>(row);
rowReader = new RowReader(tempReference_row4);
row = tempReference_row4.get();
Reference<RowReader> tempReference_rowReader3 =
new Reference<RowReader>(rowReader);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegateWithSkipScope(tempReference_rowReader3, 0));
rowReader = tempReference_rowReader3.get();
// SkipScope not okay after advancing parent
Reference<RowBuffer> tempReference_row5 =
new Reference<RowBuffer>(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<RowReader> tempReference_nestedScope =
new Reference<RowReader>(nestedScope);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentDelegate(tempReference_nestedScope, 0));
nestedScope = tempReference_nestedScope.get();
assert rowReader.read();
Reference<RowReader> tempReference_nestedScope2 =
new Reference<RowReader>(nestedScope);
Result result = rowReader.skipScope(tempReference_nestedScope2);
nestedScope = tempReference_nestedScope2.get();
assert Result.SUCCESS != result;
}
private static Result ReadNestedDocumentDelegate(Reference<RowReader> 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<RowReader> reader, int context) {
while (reader.get().read()) {
switch (reader.get().type().LayoutCode) {
case TupleScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0));
nested = tempReference_nested.get();
break;
}
case ObjectScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested2 =
new Reference<RowReader>(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<RowReader> reader,
int context) {
while (reader.get().read()) {
switch (reader.get().type().LayoutCode) {
case TupleScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadTuplePartial(tempReference_nested, 0));
nested = tempReference_nested.get();
Reference<RowReader> tempReference_nested2 =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested2));
nested = tempReference_nested2.get();
break;
}
case ObjectScope: {
RowReader nested = reader.get().readScope().clone();
Reference<RowReader> tempReference_nested3 =
new Reference<RowReader>(nested);
ResultAssert.IsSuccess(RowReaderUnitTests.ReadNestedDocumentNonDelegate(tempReference_nested3, 0));
nested = tempReference_nested3.get();
ResultAssert.IsSuccess(reader.get().readScope(0, RowReaderUnitTests.ReadNestedDocumentDelegate));
Reference<RowReader> tempReference_nested4 = new Reference<RowReader>(nested);
ResultAssert.IsSuccess(reader.get().skipScope(tempReference_nested4));
nested = tempReference_nested4.get();
break;
}
}
}
return Result.SUCCESS;
}
private static Result ReadTuplePartial(Reference<RowReader> 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<RowWriter> 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<RowOperationDispatcher> dispatcher, Reference<RowCursor> scope) {
dispatcher.get().LayoutCodeSwitch(scope, "x", value:this.X)
dispatcher.get().LayoutCodeSwitch(scope, "y", value:this.Y)
}
public Result Write(Reference<RowWriter> 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;
}
}
}

View File

@@ -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.<Schema>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.<Schema>DeserializeObject(json, settings);
}
}

View File

@@ -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.<SchemaId>DeserializeObject(json);
json = JsonConvert.SerializeObject(b.clone());
assert "2" == json;
assert "2" == b.toString();
assert b.clone() == JsonConvert.<SchemaId>DeserializeObject(json);
json = JsonConvert.SerializeObject(c.clone());
assert "0" == json;
assert "0" == c.toString();
assert c.clone() == JsonConvert.<SchemaId>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.<SchemaId>DeserializeObject(json);
json = JsonConvert.SerializeObject(b.clone());
assert "2" == json;
assert "2" == b.toString();
assert b.clone() == JsonConvert.<SchemaId>DeserializeObject(json);
json = JsonConvert.SerializeObject(c.clone());
assert "0" == json;
assert "0" == c.toString();
assert c.clone() == JsonConvert.<SchemaId>DeserializeObject(json);
}
}

View File

@@ -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<BatchOperation>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(reader);
BatchRequest _;
Out<BatchRequest> tempOut__ = new Out<BatchRequest>();
r = BatchRequestSerializer.Read(tempReference_reader, tempOut__);
_ = tempOut__.get();
reader = tempReference_reader.get();
assert Result.SUCCESS == r;
// Dump the materialized request to the console.
Reference<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row3);
row = tempReference_row3.get();
Reference<RowReader> tempReference_reader2 =
new Reference<RowReader>(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<RowReader> reader, Out<BatchOperation> operation) {
BatchOperation retval = new BatchOperation();
operation.setAndGet(null);
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "operationType":
Out<Integer> tempOut_OperationType = new Out<Integer>();
r = reader.get().readInt32(tempOut_OperationType);
retval.OperationType = tempOut_OperationType.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "headers":
Reference<RowReader> tempReference_child = new Reference<RowReader>(child);
Out<BatchRequestHeaders> tempOut_Headers = new Out<BatchRequestHeaders>();
// 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<Integer> tempOut_ResourceType = new Out<Integer>();
r = reader.get().readInt32(tempOut_ResourceType);
retval.ResourceType = tempOut_ResourceType.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "resourcePath":
Out<String> tempOut_ResourcePath = new Out<String>();
r = reader.get().readUtf8String(tempOut_ResourcePath);
retval.ResourcePath = tempOut_ResourcePath.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "resourceBody":
Out<Byte> tempOut_ResourceBody = new Out<Byte>();
//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<RowWriter> 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<BatchOperation> 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<RowReader> reader,
Out<BatchRequestHeaders> header) {
BatchRequestHeaders retval = new BatchRequestHeaders();
header.setAndGet(null);
while (reader.get().read()) {
switch (reader.get().path()) {
case "sampleRequestHeader":
Out<Long> tempOut_SampleRequestHeader = new Out<Long>();
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<RowWriter> 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<RowReader> reader, Out<BatchRequest> request) {
assert reader.get().read();
checkState(reader.get().path().equals("operations"));
java.util.ArrayList<BatchOperation> operations;
Out<ArrayList<TItem>> tempOut_operations = new Out<ArrayList<TItem>>();
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<RowWriter> 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<BatchOperation> 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<BatchOperationResponse> 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<BatchOperation>(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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(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<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(row);
RowReader reader = new RowReader(tempReference_row2);
row = tempReference_row2.get();
Reference<RowReader> tempReference_reader =
new Reference<RowReader>(reader);
BatchRequest _;
Out<BatchRequest> tempOut__ = new Out<BatchRequest>();
r = BatchRequestSerializer.Read(tempReference_reader, tempOut__);
_ = tempOut__.get();
reader = tempReference_reader.get();
assert Result.SUCCESS == r;
// Dump the materialized request to the console.
Reference<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
reader = new RowReader(tempReference_row3);
row = tempReference_row3.get();
Reference<RowReader> tempReference_reader2 =
new Reference<RowReader>(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<RowReader> reader, Out<BatchOperation> operation) {
BatchOperation retval = new BatchOperation();
operation.setAndGet(null);
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "operationType":
Out<Integer> tempOut_OperationType = new Out<Integer>();
r = reader.get().readInt32(tempOut_OperationType);
retval.OperationType = tempOut_OperationType.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "headers":
Reference<RowReader> tempReference_child = new Reference<RowReader>(child);
Out<BatchRequestHeaders> tempOut_Headers = new Out<BatchRequestHeaders>();
// 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<Integer> tempOut_ResourceType = new Out<Integer>();
r = reader.get().readInt32(tempOut_ResourceType);
retval.ResourceType = tempOut_ResourceType.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "resourcePath":
Out<String> tempOut_ResourcePath = new Out<String>();
r = reader.get().readUtf8String(tempOut_ResourcePath);
retval.ResourcePath = tempOut_ResourcePath.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "resourceBody":
Out<Byte> tempOut_ResourceBody = new Out<Byte>();
//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<RowWriter> 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<BatchOperation> 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<RowReader> reader,
Out<BatchRequestHeaders> header) {
BatchRequestHeaders retval = new BatchRequestHeaders();
header.setAndGet(null);
while (reader.get().read()) {
switch (reader.get().path()) {
case "sampleRequestHeader":
Out<Long> tempOut_SampleRequestHeader = new Out<Long>();
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<RowWriter> 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<RowReader> reader, Out<BatchRequest> request) {
assert reader.get().read();
checkState(reader.get().path().equals("operations"));
java.util.ArrayList<BatchOperation> operations;
Out<ArrayList<TItem>> tempOut_operations = new Out<ArrayList<TItem>>();
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<RowWriter> 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<BatchOperation> 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<BatchOperationResponse> Operations;
}
public final static class BatchResponseHeaders {
public String SampleResponseHeader;
}
}

View File

@@ -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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
Reference<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
Reference<RowBuffer> tempReference_row4 =
new Reference<RowBuffer>(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<RowBuffer> row, Reference<RowCursor> 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.<LayoutIndexedScope>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<LayoutUInt8>().ReadSparse(ref row, ref
// tag1Scope, out byte apiCode));
ResultAssert.IsSuccess(c.TypeArgs[0].Type.<LayoutUInt8>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.<LayoutUtf8>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.<LayoutIndexedScope>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<LayoutUInt8>().ReadSparse(ref row, ref
// tag2Scope, out byte apiCode));
ResultAssert.IsSuccess(c.TypeArgs[0].Type.<LayoutUInt8>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.<LayoutInt32>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.<LayoutInt64>TypeAs().ReadSparse(row, ref tag2Scope, out val2));
pc.Tag2 = (apiCode, val1, val2)
}
return pc;
}
private void WriteTaggedApi(Reference<RowBuffer> row, Reference<RowCursor> 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.<LayoutIndexedScope>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.<LayoutUInt8>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.<LayoutUtf8>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.<LayoutIndexedScope>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.<LayoutUInt8>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.<LayoutInt32>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.<LayoutInt64>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<RowBuffer> tempReference_row =
new Reference<RowBuffer>(row);
Reference<RowBuffer> tempReference_row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_row3 =
new Reference<RowBuffer>(row);
Reference<RowBuffer> tempReference_row4 =
new Reference<RowBuffer>(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<RowBuffer> row, Reference<RowCursor> 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.<LayoutIndexedScope>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<LayoutUInt8>().ReadSparse(ref row, ref
// tag1Scope, out byte apiCode));
ResultAssert.IsSuccess(c.TypeArgs[0].Type.<LayoutUInt8>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.<LayoutUtf8>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.<LayoutIndexedScope>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<LayoutUInt8>().ReadSparse(ref row, ref
// tag2Scope, out byte apiCode));
ResultAssert.IsSuccess(c.TypeArgs[0].Type.<LayoutUInt8>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.<LayoutInt32>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.<LayoutInt64>TypeAs().ReadSparse(row, ref tag2Scope, out val2));
pc.Tag2 = (apiCode, val1, val2)
}
return pc;
}
private void WriteTaggedApi(Reference<RowBuffer> row, Reference<RowCursor> 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.<LayoutIndexedScope>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.<LayoutUInt8>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.<LayoutUtf8>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.<LayoutIndexedScope>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.<LayoutUInt8>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.<LayoutInt32>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.<LayoutInt64>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;
}
}
}
}

View File

@@ -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();
}
}

View File

@@ -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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor
// field, LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> field, LayoutColumn col, LayoutType t, TValue value) {
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeFixed(tempReference_Row, field, col, value));
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeVariable(tempReference_Row2, field, col, value));
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeSparse(tempReference_Row3, field, value));
dispatcher.get().argValue.Row = tempReference_Row3.get();
break;
}
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
arrayScope.MoveNext(tempReference_Row2);
dispatcher.get().argValue.Row = tempReference_Row2.get();
}
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(),
tempOut_mapScope));
mapScope = tempOut_mapScope.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
Reference<RowCursor> tempReference_mapScope =
new Reference<RowCursor>(mapScope);
TypeArgument fieldType = t.<LayoutUniqueScope>typeAs().FieldType(tempReference_mapScope).clone();
mapScope = tempReference_mapScope.get();
List pairs = (List)value;
for (Object pair : pairs) {
String elmPath = UUID.NewGuid().toString();
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_mapScope2 =
new Reference<RowCursor>(mapScope);
Reference<RowCursor> tempReference_tempCursor =
new Reference<RowCursor>(tempCursor);
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<LayoutNullable>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_setScope =
new Reference<RowCursor>(setScope);
Reference<RowCursor> tempReference_tempCursor =
new Reference<RowCursor>(tempCursor);
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<LayoutIndexedScope>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
tupleScope.MoveNext(tempReference_Row2);
dispatcher.get().argValue.Row = tempReference_Row2.get();
}
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor udtScope;
Out<RowCursor> tempOut_udtScope = new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutUDT>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<RowCursor> tempReference_udtScope = new Reference<RowCursor>(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 <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> 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<TLayout, TValue>(ref RowOperationDispatcher dispatcher, ref RowCursor
// field, LayoutColumn col, LayoutType t, TValue value = default) where TLayout : LayoutType<TValue>
public <TLayout extends LayoutType<TValue>, TValue> void Dispatch(Reference<RowOperationDispatcher> dispatcher, Reference<RowCursor> field, LayoutColumn col, LayoutType t, TValue value) {
switch (col == null ? null : col.getStorage()) {
case Fixed:
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeFixed(tempReference_Row, field, col, value));
dispatcher.get().argValue.Row = tempReference_Row.get();
break;
case Variable:
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeVariable(tempReference_Row2, field, col, value));
dispatcher.get().argValue.Row = tempReference_Row2.get();
break;
default:
Reference<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
ResultAssert.IsSuccess(t.<TLayout>typeAs().writeSparse(tempReference_Row3, field, value));
dispatcher.get().argValue.Row = tempReference_Row3.get();
break;
}
}
public void DispatchArray(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor arrayScope;
Out<RowCursor> tempOut_arrayScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedArray>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
arrayScope.MoveNext(tempReference_Row2);
dispatcher.get().argValue.Row = tempReference_Row2.get();
}
}
public void DispatchMap(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor mapScope;
Out<RowCursor> tempOut_mapScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedMap>typeAs().WriteScope(tempReference_Row, scope, typeArgs.clone(),
tempOut_mapScope));
mapScope = tempOut_mapScope.get();
dispatcher.get().argValue.Row = tempReference_Row.get();
Reference<RowCursor> tempReference_mapScope =
new Reference<RowCursor>(mapScope);
TypeArgument fieldType = t.<LayoutUniqueScope>typeAs().FieldType(tempReference_mapScope).clone();
mapScope = tempReference_mapScope.get();
List pairs = (List)value;
for (Object pair : pairs) {
String elmPath = UUID.NewGuid().toString();
Reference<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_mapScope2 =
new Reference<RowCursor>(mapScope);
Reference<RowCursor> tempReference_tempCursor =
new Reference<RowCursor>(tempCursor);
ResultAssert.IsSuccess(t.<LayoutTypedMap>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<LayoutNullable>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope) {
}
public void DispatchSet(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() == 1);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor setScope;
Out<RowCursor> tempOut_setScope =
new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(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<RowBuffer> tempReference_Row3 =
new Reference<RowBuffer>(dispatcher.get().Row);
Reference<RowCursor> tempReference_setScope =
new Reference<RowCursor>(setScope);
Reference<RowCursor> tempReference_tempCursor =
new Reference<RowCursor>(tempCursor);
ResultAssert.IsSuccess(t.<LayoutTypedSet>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<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
checkArgument(typeArgs.count() >= 2);
Reference<RowBuffer> tempReference_Row =
new Reference<RowBuffer>(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.<LayoutIndexedScope>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<RowBuffer> tempReference_Row2 =
new Reference<RowBuffer>(dispatcher.get().Row);
tupleScope.MoveNext(tempReference_Row2);
dispatcher.get().argValue.Row = tempReference_Row2.get();
}
}
public void DispatchUDT(Reference<RowOperationDispatcher> dispatcher,
Reference<RowCursor> scope, LayoutType t, TypeArgumentList typeArgs,
Object value) {
Reference<RowBuffer> tempReference_Row = new Reference<RowBuffer>(dispatcher.get().Row);
RowCursor udtScope;
Out<RowCursor> tempOut_udtScope = new Out<RowCursor>();
ResultAssert.IsSuccess(t.<LayoutUDT>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<RowCursor> tempReference_udtScope = new Reference<RowCursor>(udtScope);
valueDispatcher.Dispatch(dispatcher, tempReference_udtScope);
udtScope = tempReference_udtScope.get();
}
}

View File

@@ -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);
}
}

View File

@@ -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<RowReader> reader, Out<Address> obj) {
obj.setAndGet(new Address());
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "street":
Out<String> tempOut_Street = new Out<String>();
r = reader.get().readUtf8String(tempOut_Street);
obj.get().argValue.Street = tempOut_Street.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "city":
Out<String> tempOut_City = new Out<String>();
r = reader.get().readUtf8String(tempOut_City);
obj.get().argValue.City = tempOut_City.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "state":
Out<String> tempOut_State = new Out<String>();
r = reader.get().readUtf8String(tempOut_State);
obj.get().argValue.State = tempOut_State.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "postal_code":
Reference<RowReader> tempReference_child =
new Reference<RowReader>(child);
Out<PostalCode> tempOut_PostalCode = new Out<PostalCode>();
// 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<RowWriter> 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<RowReader> reader, Out<Address> obj) {
obj.setAndGet(new Address());
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "street":
Out<String> tempOut_Street = new Out<String>();
r = reader.get().readUtf8String(tempOut_Street);
obj.get().argValue.Street = tempOut_Street.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "city":
Out<String> tempOut_City = new Out<String>();
r = reader.get().readUtf8String(tempOut_City);
obj.get().argValue.City = tempOut_City.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "state":
Out<String> tempOut_State = new Out<String>();
r = reader.get().readUtf8String(tempOut_State);
obj.get().argValue.State = tempOut_State.get();
if (r != Result.SUCCESS) {
return r;
}
break;
case "postal_code":
Reference<RowReader> tempReference_child =
new Reference<RowReader>(child);
Out<PostalCode> tempOut_PostalCode = new Out<PostalCode>();
// 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<RowWriter> 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;
}
}

View File

@@ -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<String, Address> Addresses;
public String ConfirmNumber;
public Set<String> Emails;
public String FirstName;
public UUID Id;
public String LastName;
public List<String> 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 <TKey, TValue> boolean DictionaryEquals(Map<TKey, TValue> left, Map<TKey, TValue> right) {
if (left == right) {
return true;
}
if ((left == null) || (right == null)) {
return false;
}
if (left.size() != right.size()) {
return false;
}
for (Map.Entry<TKey, TValue> 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<String, Address> Addresses;
public String ConfirmNumber;
public Set<String> Emails;
public String FirstName;
public UUID Id;
public String LastName;
public List<String> 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 <TKey, TValue> boolean DictionaryEquals(Map<TKey, TValue> left, Map<TKey, TValue> right) {
if (left == right) {
return true;
}
if ((left == null) || (right == null)) {
return false;
}
if (left.size() != right.size()) {
return false;
}
for (Map.Entry<TKey, TValue> 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);
}
}

View File

@@ -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;
}
}
}

View File

@@ -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;
}
}

View File

@@ -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<RowReader> reader, Out<PostalCode> obj) {
obj.setAndGet(new PostalCode());
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "zip":
Out<Integer> tempOut_Zip = new Out<Integer>();
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<Short> tempOut_value = new Out<Short>();
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<RowWriter> 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<RowReader> reader, Out<PostalCode> obj) {
obj.setAndGet(new PostalCode());
while (reader.get().read()) {
Result r;
switch (reader.get().path()) {
case "zip":
Out<Integer> tempOut_Zip = new Out<Integer>();
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<Short> tempOut_value = new Out<Short>();
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<RowWriter> 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;
}
}

View File

@@ -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;
}
}

View File

@@ -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<T> {
}
/**
* {@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<T> {
}
/**
* 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:.
* <ul>
* <li>it is also an {@link Reference} and;
* <li>both instances have no value present or;

View File

@@ -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;

View File

@@ -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.

View File

@@ -7,7 +7,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
/**
* Versions of HybridRow
* Versions of HybridRow.
* <p>
* A version from this list MUST be inserted in the version BOM at the beginning of all rows.
*/

View File

@@ -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.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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}.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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;

View File

@@ -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.
* <p>
* 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;

View File

@@ -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<SchemaId> {
}
/**
* {@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<SchemaId> {
}
/**
* 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<SchemaId> {
}
/**
* The underlying integer value of this {@link SchemaId}
* The underlying integer value of this {@link SchemaId}.
*
* @return The integer value of this {@link SchemaId}
*/

View File

@@ -11,14 +11,14 @@ package com.azure.data.cosmos.serialization.hybridrow;
*/
public final class UnixDateTime {
/**
* Unix epoch
* Unix epoch.
* <p>
* {@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;

View File

@@ -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

View File

@@ -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}.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.

View File

@@ -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.

View File

@@ -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.
* <p>
* 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}.
* <p>
* This representation should only be used for debugging and diagnostic purposes.
*/

View File

@@ -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.

View File

@@ -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.
* <p>
* 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;

View File

@@ -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<Property> properties() {
return this.properties;

View File

@@ -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 {

View File

@@ -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.
* <p>
* 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.
* <p>
* 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.
* <p>
* 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.
* <p>
* This field is never null.
*
@@ -168,7 +168,7 @@ public class Schema {
}
/**
* The unique identifier for a schema
* The unique identifier for a schema.
* <p>
* 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.
* <p>
* 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;

View File

@@ -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.
* <p>
* 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

View File

@@ -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.
* <p>
* Static path MUST refer to properties defined within the same {@link Schema}.
*/

View File

@@ -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);

View File

@@ -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() {
}
}

View File

@@ -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() {
}
}