From bb4dc8012467d47ed21a8fa1cf11fca27a1fafd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kjetil=20=C3=98rbekk?= Date: Tue, 10 Apr 2012 17:51:59 +0200 Subject: Fix some bugs in RpcChannel and NewRpcChannel. Use protobuf v.2.4.1. --- pom.xml | 2 +- src/main/java/com/orbekk/example/Example.java | 302 ++++--- src/main/java/com/orbekk/protobuf/Data.java | 867 +++++++++++++++------ .../java/com/orbekk/protobuf/NewRpcChannel.java | 46 +- src/main/java/com/orbekk/protobuf/RpcChannel.java | 9 +- .../orbekk/protobuf/ProtobufFunctionalTest.java | 3 + src/test/java/com/orbekk/protobuf/Test.java | 532 +++++++++---- 7 files changed, 1260 insertions(+), 501 deletions(-) diff --git a/pom.xml b/pom.xml index e5cee74..3319230 100644 --- a/pom.xml +++ b/pom.xml @@ -18,7 +18,7 @@ com.google.protobuf protobuf-java - 2.3.0 + 2.4.1 junit diff --git a/src/main/java/com/orbekk/example/Example.java b/src/main/java/com/orbekk/example/Example.java index 511cf35..9aa5f2b 100644 --- a/src/main/java/com/orbekk/example/Example.java +++ b/src/main/java/com/orbekk/example/Example.java @@ -8,11 +8,15 @@ public final class Example { public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { } + public interface EmptyOrBuilder + extends com.google.protobuf.MessageOrBuilder { + } public static final class Empty extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements EmptyOrBuilder { // Use Empty.newBuilder() to construct. - private Empty() { - initFields(); + private Empty(Builder builder) { + super(builder); } private Empty(boolean noInit) {} @@ -37,7 +41,12 @@ public final class Example { private void initFields() { } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } @@ -58,6 +67,13 @@ public final class Example { return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.example.Example.Empty parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -132,34 +148,49 @@ public final class Example { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.example.Example.Empty result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.example.Example.EmptyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_Empty_descriptor; + } - // Construct using com.orbekk.example.Example.Empty.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_Empty_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.example.Example.Empty(); - return builder; + // Construct using com.orbekk.example.Example.Empty.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.example.Example.Empty internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.example.Example.Empty(); + super.clear(); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -171,33 +202,28 @@ public final class Example { return com.orbekk.example.Example.Empty.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.example.Example.Empty build() { - if (result != null && !isInitialized()) { + com.orbekk.example.Example.Empty result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.example.Example.Empty buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.example.Example.Empty result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.example.Example.Empty buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); - } - com.orbekk.example.Example.Empty returnMe = result; - result = null; - return returnMe; + com.orbekk.example.Example.Empty result = new com.orbekk.example.Example.Empty(this); + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -215,6 +241,10 @@ public final class Example { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -227,11 +257,13 @@ public final class Example { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; @@ -246,18 +278,25 @@ public final class Example { static { defaultInstance = new Empty(true); - com.orbekk.example.Example.internalForceInit(); defaultInstance.initFields(); } // @@protoc_insertion_point(class_scope:com.orbekk.example.Empty) } + public interface FortuneReplyOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // required string fortune = 1; + boolean hasFortune(); + String getFortune(); + } public static final class FortuneReply extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements FortuneReplyOrBuilder { // Use FortuneReply.newBuilder() to construct. - private FortuneReply() { - initFields(); + private FortuneReply(Builder builder) { + super(builder); } private FortuneReply(boolean noInit) {} @@ -280,25 +319,60 @@ public final class Example { return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_fieldAccessorTable; } + private int bitField0_; // required string fortune = 1; public static final int FORTUNE_FIELD_NUMBER = 1; - private boolean hasFortune; - private java.lang.String fortune_ = ""; - public boolean hasFortune() { return hasFortune; } - public java.lang.String getFortune() { return fortune_; } + private java.lang.Object fortune_; + public boolean hasFortune() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFortune() { + java.lang.Object ref = fortune_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + fortune_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getFortuneBytes() { + java.lang.Object ref = fortune_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + fortune_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + fortune_ = ""; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { - if (!hasFortune) return false; + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + if (!hasFortune()) { + memoizedIsInitialized = 0; + return false; + } + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasFortune()) { - output.writeString(1, getFortune()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getFortuneBytes()); } getUnknownFields().writeTo(output); } @@ -309,15 +383,22 @@ public final class Example { if (size != -1) return size; size = 0; - if (hasFortune()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(1, getFortune()); + .computeBytesSize(1, getFortuneBytes()); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.example.Example.FortuneReply parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -392,34 +473,51 @@ public final class Example { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.example.Example.FortuneReply result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.example.Example.FortuneReplyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_descriptor; + } - // Construct using com.orbekk.example.Example.FortuneReply.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.example.Example.internal_static_com_orbekk_example_FortuneReply_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.example.Example.FortuneReply(); - return builder; + // Construct using com.orbekk.example.Example.FortuneReply.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.example.Example.FortuneReply internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.example.Example.FortuneReply(); + super.clear(); + fortune_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -431,33 +529,35 @@ public final class Example { return com.orbekk.example.Example.FortuneReply.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.example.Example.FortuneReply build() { - if (result != null && !isInitialized()) { + com.orbekk.example.Example.FortuneReply result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.example.Example.FortuneReply buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.example.Example.FortuneReply result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.example.Example.FortuneReply buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.example.Example.FortuneReply result = new com.orbekk.example.Example.FortuneReply(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; } - com.orbekk.example.Example.FortuneReply returnMe = result; - result = null; - return returnMe; + result.fortune_ = fortune_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -478,6 +578,14 @@ public final class Example { return this; } + public final boolean isInitialized() { + if (!hasFortune()) { + + return false; + } + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -490,51 +598,69 @@ public final class Example { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; } case 10: { - setFortune(input.readString()); + bitField0_ |= 0x00000001; + fortune_ = input.readBytes(); break; } } } } + private int bitField0_; // required string fortune = 1; + private java.lang.Object fortune_ = ""; public boolean hasFortune() { - return result.hasFortune(); - } - public java.lang.String getFortune() { - return result.getFortune(); + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFortune() { + java.lang.Object ref = fortune_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + fortune_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setFortune(java.lang.String value) { + public Builder setFortune(String value) { if (value == null) { throw new NullPointerException(); } - result.hasFortune = true; - result.fortune_ = value; + bitField0_ |= 0x00000001; + fortune_ = value; + onChanged(); return this; } public Builder clearFortune() { - result.hasFortune = false; - result.fortune_ = getDefaultInstance().getFortune(); + bitField0_ = (bitField0_ & ~0x00000001); + fortune_ = getDefaultInstance().getFortune(); + onChanged(); return this; } + void setFortune(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000001; + fortune_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.example.FortuneReply) } static { defaultInstance = new FortuneReply(true); - com.orbekk.example.Example.internalForceInit(); defaultInstance.initFields(); } @@ -556,7 +682,7 @@ public final class Example { public static com.google.protobuf.Service newReflectiveService( final Interface impl) { return new FortuneService() { - @Override + @java.lang.Override public void getFortune( com.google.protobuf.RpcController controller, com.orbekk.example.Example.Empty request, @@ -818,7 +944,5 @@ public final class Example { }, assigner); } - public static void internalForceInit() {} - // @@protoc_insertion_point(outer_class_scope) } diff --git a/src/main/java/com/orbekk/protobuf/Data.java b/src/main/java/com/orbekk/protobuf/Data.java index c958236..32b1d15 100644 --- a/src/main/java/com/orbekk/protobuf/Data.java +++ b/src/main/java/com/orbekk/protobuf/Data.java @@ -8,11 +8,31 @@ public final class Data { public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { } + public interface RequestOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional string full_service_name = 1; + boolean hasFullServiceName(); + String getFullServiceName(); + + // optional string method_name = 2; + boolean hasMethodName(); + String getMethodName(); + + // optional bytes request_proto = 3; + boolean hasRequestProto(); + com.google.protobuf.ByteString getRequestProto(); + + // optional int64 request_id = 4; + boolean hasRequestId(); + long getRequestId(); + } public static final class Request extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements RequestOrBuilder { // Use Request.newBuilder() to construct. - private Request() { - initFields(); + private Request(Builder builder) { + super(builder); } private Request(boolean noInit) {} @@ -35,54 +55,120 @@ public final class Data { return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_fieldAccessorTable; } + private int bitField0_; // optional string full_service_name = 1; public static final int FULL_SERVICE_NAME_FIELD_NUMBER = 1; - private boolean hasFullServiceName; - private java.lang.String fullServiceName_ = ""; - public boolean hasFullServiceName() { return hasFullServiceName; } - public java.lang.String getFullServiceName() { return fullServiceName_; } + private java.lang.Object fullServiceName_; + public boolean hasFullServiceName() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFullServiceName() { + java.lang.Object ref = fullServiceName_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + fullServiceName_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getFullServiceNameBytes() { + java.lang.Object ref = fullServiceName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + fullServiceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } // optional string method_name = 2; public static final int METHOD_NAME_FIELD_NUMBER = 2; - private boolean hasMethodName; - private java.lang.String methodName_ = ""; - public boolean hasMethodName() { return hasMethodName; } - public java.lang.String getMethodName() { return methodName_; } + private java.lang.Object methodName_; + public boolean hasMethodName() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMethodName() { + java.lang.Object ref = methodName_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + methodName_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getMethodNameBytes() { + java.lang.Object ref = methodName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + methodName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } // optional bytes request_proto = 3; public static final int REQUEST_PROTO_FIELD_NUMBER = 3; - private boolean hasRequestProto; - private com.google.protobuf.ByteString requestProto_ = com.google.protobuf.ByteString.EMPTY; - public boolean hasRequestProto() { return hasRequestProto; } - public com.google.protobuf.ByteString getRequestProto() { return requestProto_; } + private com.google.protobuf.ByteString requestProto_; + public boolean hasRequestProto() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public com.google.protobuf.ByteString getRequestProto() { + return requestProto_; + } // optional int64 request_id = 4; public static final int REQUEST_ID_FIELD_NUMBER = 4; - private boolean hasRequestId; - private long requestId_ = 0L; - public boolean hasRequestId() { return hasRequestId; } - public long getRequestId() { return requestId_; } + private long requestId_; + public boolean hasRequestId() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public long getRequestId() { + return requestId_; + } private void initFields() { + fullServiceName_ = ""; + methodName_ = ""; + requestProto_ = com.google.protobuf.ByteString.EMPTY; + requestId_ = 0L; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasFullServiceName()) { - output.writeString(1, getFullServiceName()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, getFullServiceNameBytes()); } - if (hasMethodName()) { - output.writeString(2, getMethodName()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getMethodNameBytes()); } - if (hasRequestProto()) { - output.writeBytes(3, getRequestProto()); + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, requestProto_); } - if (hasRequestId()) { - output.writeInt64(4, getRequestId()); + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeInt64(4, requestId_); } getUnknownFields().writeTo(output); } @@ -93,27 +179,34 @@ public final class Data { if (size != -1) return size; size = 0; - if (hasFullServiceName()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(1, getFullServiceName()); + .computeBytesSize(1, getFullServiceNameBytes()); } - if (hasMethodName()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(2, getMethodName()); + .computeBytesSize(2, getMethodNameBytes()); } - if (hasRequestProto()) { + if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, getRequestProto()); + .computeBytesSize(3, requestProto_); } - if (hasRequestId()) { + if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(4, getRequestId()); + .computeInt64Size(4, requestId_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.protobuf.Data.Request parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -188,34 +281,57 @@ public final class Data { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.protobuf.Data.Request result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.protobuf.Data.RequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_descriptor; + } - // Construct using com.orbekk.protobuf.Data.Request.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Request_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Data.Request(); - return builder; + // Construct using com.orbekk.protobuf.Data.Request.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Data.Request internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Data.Request(); + super.clear(); + fullServiceName_ = ""; + bitField0_ = (bitField0_ & ~0x00000001); + methodName_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); + requestProto_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000004); + requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -227,33 +343,47 @@ public final class Data { return com.orbekk.protobuf.Data.Request.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Data.Request build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Data.Request result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Data.Request buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Data.Request result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Data.Request buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Data.Request result = new com.orbekk.protobuf.Data.Request(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; } - com.orbekk.protobuf.Data.Request returnMe = result; - result = null; - return returnMe; + result.fullServiceName_ = fullServiceName_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.methodName_ = methodName_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.requestProto_ = requestProto_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.requestId_ = requestId_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -283,6 +413,10 @@ public final class Data { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -295,114 +429,157 @@ public final class Data { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; } case 10: { - setFullServiceName(input.readString()); + bitField0_ |= 0x00000001; + fullServiceName_ = input.readBytes(); break; } case 18: { - setMethodName(input.readString()); + bitField0_ |= 0x00000002; + methodName_ = input.readBytes(); break; } case 26: { - setRequestProto(input.readBytes()); + bitField0_ |= 0x00000004; + requestProto_ = input.readBytes(); break; } case 32: { - setRequestId(input.readInt64()); + bitField0_ |= 0x00000008; + requestId_ = input.readInt64(); break; } } } } + private int bitField0_; // optional string full_service_name = 1; + private java.lang.Object fullServiceName_ = ""; public boolean hasFullServiceName() { - return result.hasFullServiceName(); - } - public java.lang.String getFullServiceName() { - return result.getFullServiceName(); + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public String getFullServiceName() { + java.lang.Object ref = fullServiceName_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + fullServiceName_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setFullServiceName(java.lang.String value) { + public Builder setFullServiceName(String value) { if (value == null) { throw new NullPointerException(); } - result.hasFullServiceName = true; - result.fullServiceName_ = value; + bitField0_ |= 0x00000001; + fullServiceName_ = value; + onChanged(); return this; } public Builder clearFullServiceName() { - result.hasFullServiceName = false; - result.fullServiceName_ = getDefaultInstance().getFullServiceName(); + bitField0_ = (bitField0_ & ~0x00000001); + fullServiceName_ = getDefaultInstance().getFullServiceName(); + onChanged(); return this; } + void setFullServiceName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000001; + fullServiceName_ = value; + onChanged(); + } // optional string method_name = 2; + private java.lang.Object methodName_ = ""; public boolean hasMethodName() { - return result.hasMethodName(); - } - public java.lang.String getMethodName() { - return result.getMethodName(); + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMethodName() { + java.lang.Object ref = methodName_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + methodName_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setMethodName(java.lang.String value) { + public Builder setMethodName(String value) { if (value == null) { throw new NullPointerException(); } - result.hasMethodName = true; - result.methodName_ = value; + bitField0_ |= 0x00000002; + methodName_ = value; + onChanged(); return this; } public Builder clearMethodName() { - result.hasMethodName = false; - result.methodName_ = getDefaultInstance().getMethodName(); + bitField0_ = (bitField0_ & ~0x00000002); + methodName_ = getDefaultInstance().getMethodName(); + onChanged(); return this; } + void setMethodName(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000002; + methodName_ = value; + onChanged(); + } // optional bytes request_proto = 3; + private com.google.protobuf.ByteString requestProto_ = com.google.protobuf.ByteString.EMPTY; public boolean hasRequestProto() { - return result.hasRequestProto(); + return ((bitField0_ & 0x00000004) == 0x00000004); } public com.google.protobuf.ByteString getRequestProto() { - return result.getRequestProto(); + return requestProto_; } public Builder setRequestProto(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - result.hasRequestProto = true; - result.requestProto_ = value; + bitField0_ |= 0x00000004; + requestProto_ = value; + onChanged(); return this; } public Builder clearRequestProto() { - result.hasRequestProto = false; - result.requestProto_ = getDefaultInstance().getRequestProto(); + bitField0_ = (bitField0_ & ~0x00000004); + requestProto_ = getDefaultInstance().getRequestProto(); + onChanged(); return this; } // optional int64 request_id = 4; + private long requestId_ ; public boolean hasRequestId() { - return result.hasRequestId(); + return ((bitField0_ & 0x00000008) == 0x00000008); } public long getRequestId() { - return result.getRequestId(); + return requestId_; } public Builder setRequestId(long value) { - result.hasRequestId = true; - result.requestId_ = value; + bitField0_ |= 0x00000008; + requestId_ = value; + onChanged(); return this; } public Builder clearRequestId() { - result.hasRequestId = false; - result.requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000008); + requestId_ = 0L; + onChanged(); return this; } @@ -411,18 +588,49 @@ public final class Data { static { defaultInstance = new Request(true); - com.orbekk.protobuf.Data.internalForceInit(); defaultInstance.initFields(); } // @@protoc_insertion_point(class_scope:com.orbekk.protobuf.Request) } + public interface ResponseOrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional bytes response_proto = 1; + boolean hasResponseProto(); + com.google.protobuf.ByteString getResponseProto(); + + // optional .com.orbekk.protobuf.Response.RpcError error = 2; + boolean hasError(); + com.orbekk.protobuf.Data.Response.RpcError getError(); + + // optional int64 request_id = 5; + boolean hasRequestId(); + long getRequestId(); + + // optional bool hasFailed = 4; + boolean hasHasFailed(); + boolean getHasFailed(); + + // optional bool canceled = 6; + boolean hasCanceled(); + boolean getCanceled(); + + // optional bool done = 7 [default = true]; + boolean hasDone(); + boolean getDone(); + + // optional string error_text = 3; + boolean hasErrorText(); + String getErrorText(); + } public static final class Response extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements ResponseOrBuilder { // Use Response.newBuilder() to construct. - private Response() { - initFields(); + private Response(Builder builder) { + super(builder); } private Response(boolean noInit) {} @@ -453,6 +661,11 @@ public final class Data { INVALID_PROTOBUF(3, 3), ; + public static final int UNKNOWN_SERVICE_VALUE = 0; + public static final int UNKNOWN_METHOD_VALUE = 1; + public static final int CANCELED_VALUE = 2; + public static final int INVALID_PROTOBUF_VALUE = 3; + public final int getNumber() { return value; } @@ -474,8 +687,8 @@ public final class Data { internalValueMap = new com.google.protobuf.Internal.EnumLiteMap() { public RpcError findValueByNumber(int number) { - return RpcError.valueOf(number) - ; } + return RpcError.valueOf(number); + } }; public final com.google.protobuf.Descriptors.EnumValueDescriptor @@ -494,6 +707,7 @@ public final class Data { private static final RpcError[] VALUES = { UNKNOWN_SERVICE, UNKNOWN_METHOD, CANCELED, INVALID_PROTOBUF, }; + public static RpcError valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc) { if (desc.getType() != getDescriptor()) { @@ -502,99 +716,152 @@ public final class Data { } return VALUES[desc.getIndex()]; } + private final int index; private final int value; + private RpcError(int index, int value) { this.index = index; this.value = value; } - static { - com.orbekk.protobuf.Data.getDescriptor(); - } - // @@protoc_insertion_point(enum_scope:com.orbekk.protobuf.Response.RpcError) } + private int bitField0_; // optional bytes response_proto = 1; public static final int RESPONSE_PROTO_FIELD_NUMBER = 1; - private boolean hasResponseProto; - private com.google.protobuf.ByteString responseProto_ = com.google.protobuf.ByteString.EMPTY; - public boolean hasResponseProto() { return hasResponseProto; } - public com.google.protobuf.ByteString getResponseProto() { return responseProto_; } + private com.google.protobuf.ByteString responseProto_; + public boolean hasResponseProto() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public com.google.protobuf.ByteString getResponseProto() { + return responseProto_; + } // optional .com.orbekk.protobuf.Response.RpcError error = 2; public static final int ERROR_FIELD_NUMBER = 2; - private boolean hasError; private com.orbekk.protobuf.Data.Response.RpcError error_; - public boolean hasError() { return hasError; } - public com.orbekk.protobuf.Data.Response.RpcError getError() { return error_; } + public boolean hasError() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public com.orbekk.protobuf.Data.Response.RpcError getError() { + return error_; + } // optional int64 request_id = 5; public static final int REQUEST_ID_FIELD_NUMBER = 5; - private boolean hasRequestId; - private long requestId_ = 0L; - public boolean hasRequestId() { return hasRequestId; } - public long getRequestId() { return requestId_; } + private long requestId_; + public boolean hasRequestId() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public long getRequestId() { + return requestId_; + } // optional bool hasFailed = 4; public static final int HASFAILED_FIELD_NUMBER = 4; - private boolean hasHasFailed; - private boolean hasFailed_ = false; - public boolean hasHasFailed() { return hasHasFailed; } - public boolean getHasFailed() { return hasFailed_; } + private boolean hasFailed_; + public boolean hasHasFailed() { + return ((bitField0_ & 0x00000008) == 0x00000008); + } + public boolean getHasFailed() { + return hasFailed_; + } // optional bool canceled = 6; public static final int CANCELED_FIELD_NUMBER = 6; - private boolean hasCanceled; - private boolean canceled_ = false; - public boolean hasCanceled() { return hasCanceled; } - public boolean getCanceled() { return canceled_; } + private boolean canceled_; + public boolean hasCanceled() { + return ((bitField0_ & 0x00000010) == 0x00000010); + } + public boolean getCanceled() { + return canceled_; + } // optional bool done = 7 [default = true]; public static final int DONE_FIELD_NUMBER = 7; - private boolean hasDone; - private boolean done_ = true; - public boolean hasDone() { return hasDone; } - public boolean getDone() { return done_; } + private boolean done_; + public boolean hasDone() { + return ((bitField0_ & 0x00000020) == 0x00000020); + } + public boolean getDone() { + return done_; + } // optional string error_text = 3; public static final int ERROR_TEXT_FIELD_NUMBER = 3; - private boolean hasErrorText; - private java.lang.String errorText_ = ""; - public boolean hasErrorText() { return hasErrorText; } - public java.lang.String getErrorText() { return errorText_; } + private java.lang.Object errorText_; + public boolean hasErrorText() { + return ((bitField0_ & 0x00000040) == 0x00000040); + } + public String getErrorText() { + java.lang.Object ref = errorText_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + errorText_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getErrorTextBytes() { + java.lang.Object ref = errorText_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + errorText_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + responseProto_ = com.google.protobuf.ByteString.EMPTY; error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + requestId_ = 0L; + hasFailed_ = false; + canceled_ = false; + done_ = true; + errorText_ = ""; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasResponseProto()) { - output.writeBytes(1, getResponseProto()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeBytes(1, responseProto_); } - if (hasError()) { - output.writeEnum(2, getError().getNumber()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeEnum(2, error_.getNumber()); } - if (hasErrorText()) { - output.writeString(3, getErrorText()); + if (((bitField0_ & 0x00000040) == 0x00000040)) { + output.writeBytes(3, getErrorTextBytes()); } - if (hasHasFailed()) { - output.writeBool(4, getHasFailed()); + if (((bitField0_ & 0x00000008) == 0x00000008)) { + output.writeBool(4, hasFailed_); } - if (hasRequestId()) { - output.writeInt64(5, getRequestId()); + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeInt64(5, requestId_); } - if (hasCanceled()) { - output.writeBool(6, getCanceled()); + if (((bitField0_ & 0x00000010) == 0x00000010)) { + output.writeBool(6, canceled_); } - if (hasDone()) { - output.writeBool(7, getDone()); + if (((bitField0_ & 0x00000020) == 0x00000020)) { + output.writeBool(7, done_); } getUnknownFields().writeTo(output); } @@ -605,39 +872,46 @@ public final class Data { if (size != -1) return size; size = 0; - if (hasResponseProto()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(1, getResponseProto()); + .computeBytesSize(1, responseProto_); } - if (hasError()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeEnumSize(2, getError().getNumber()); + .computeEnumSize(2, error_.getNumber()); } - if (hasErrorText()) { + if (((bitField0_ & 0x00000040) == 0x00000040)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(3, getErrorText()); + .computeBytesSize(3, getErrorTextBytes()); } - if (hasHasFailed()) { + if (((bitField0_ & 0x00000008) == 0x00000008)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(4, getHasFailed()); + .computeBoolSize(4, hasFailed_); } - if (hasRequestId()) { + if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeInt64Size(5, getRequestId()); + .computeInt64Size(5, requestId_); } - if (hasCanceled()) { + if (((bitField0_ & 0x00000010) == 0x00000010)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(6, getCanceled()); + .computeBoolSize(6, canceled_); } - if (hasDone()) { + if (((bitField0_ & 0x00000020) == 0x00000020)) { size += com.google.protobuf.CodedOutputStream - .computeBoolSize(7, getDone()); + .computeBoolSize(7, done_); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.protobuf.Data.Response parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -712,34 +986,63 @@ public final class Data { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.protobuf.Data.Response result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.protobuf.Data.ResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Response_descriptor; + } - // Construct using com.orbekk.protobuf.Data.Response.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Data.internal_static_com_orbekk_protobuf_Response_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Data.Response(); - return builder; + // Construct using com.orbekk.protobuf.Data.Response.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Data.Response internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Data.Response(); + super.clear(); + responseProto_ = com.google.protobuf.ByteString.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + bitField0_ = (bitField0_ & ~0x00000002); + requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000004); + hasFailed_ = false; + bitField0_ = (bitField0_ & ~0x00000008); + canceled_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + done_ = true; + bitField0_ = (bitField0_ & ~0x00000020); + errorText_ = ""; + bitField0_ = (bitField0_ & ~0x00000040); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -751,33 +1054,59 @@ public final class Data { return com.orbekk.protobuf.Data.Response.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Data.Response build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Data.Response result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Data.Response buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Data.Response result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Data.Response buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Data.Response result = new com.orbekk.protobuf.Data.Response(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.responseProto_ = responseProto_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.error_ = error_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; + } + result.requestId_ = requestId_; + if (((from_bitField0_ & 0x00000008) == 0x00000008)) { + to_bitField0_ |= 0x00000008; + } + result.hasFailed_ = hasFailed_; + if (((from_bitField0_ & 0x00000010) == 0x00000010)) { + to_bitField0_ |= 0x00000010; + } + result.canceled_ = canceled_; + if (((from_bitField0_ & 0x00000020) == 0x00000020)) { + to_bitField0_ |= 0x00000020; + } + result.done_ = done_; + if (((from_bitField0_ & 0x00000040) == 0x00000040)) { + to_bitField0_ |= 0x00000040; } - com.orbekk.protobuf.Data.Response returnMe = result; - result = null; - return returnMe; + result.errorText_ = errorText_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -816,6 +1145,10 @@ public final class Data { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -828,17 +1161,20 @@ public final class Data { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; } case 10: { - setResponseProto(input.readBytes()); + bitField0_ |= 0x00000001; + responseProto_ = input.readBytes(); break; } case 16: { @@ -847,176 +1183,215 @@ public final class Data { if (value == null) { unknownFields.mergeVarintField(2, rawValue); } else { - setError(value); + bitField0_ |= 0x00000002; + error_ = value; } break; } case 26: { - setErrorText(input.readString()); + bitField0_ |= 0x00000040; + errorText_ = input.readBytes(); break; } case 32: { - setHasFailed(input.readBool()); + bitField0_ |= 0x00000008; + hasFailed_ = input.readBool(); break; } case 40: { - setRequestId(input.readInt64()); + bitField0_ |= 0x00000004; + requestId_ = input.readInt64(); break; } case 48: { - setCanceled(input.readBool()); + bitField0_ |= 0x00000010; + canceled_ = input.readBool(); break; } case 56: { - setDone(input.readBool()); + bitField0_ |= 0x00000020; + done_ = input.readBool(); break; } } } } + private int bitField0_; // optional bytes response_proto = 1; + private com.google.protobuf.ByteString responseProto_ = com.google.protobuf.ByteString.EMPTY; public boolean hasResponseProto() { - return result.hasResponseProto(); + return ((bitField0_ & 0x00000001) == 0x00000001); } public com.google.protobuf.ByteString getResponseProto() { - return result.getResponseProto(); + return responseProto_; } public Builder setResponseProto(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - result.hasResponseProto = true; - result.responseProto_ = value; + bitField0_ |= 0x00000001; + responseProto_ = value; + onChanged(); return this; } public Builder clearResponseProto() { - result.hasResponseProto = false; - result.responseProto_ = getDefaultInstance().getResponseProto(); + bitField0_ = (bitField0_ & ~0x00000001); + responseProto_ = getDefaultInstance().getResponseProto(); + onChanged(); return this; } // optional .com.orbekk.protobuf.Response.RpcError error = 2; + private com.orbekk.protobuf.Data.Response.RpcError error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; public boolean hasError() { - return result.hasError(); + return ((bitField0_ & 0x00000002) == 0x00000002); } public com.orbekk.protobuf.Data.Response.RpcError getError() { - return result.getError(); + return error_; } public Builder setError(com.orbekk.protobuf.Data.Response.RpcError value) { if (value == null) { throw new NullPointerException(); } - result.hasError = true; - result.error_ = value; + bitField0_ |= 0x00000002; + error_ = value; + onChanged(); return this; } public Builder clearError() { - result.hasError = false; - result.error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + bitField0_ = (bitField0_ & ~0x00000002); + error_ = com.orbekk.protobuf.Data.Response.RpcError.UNKNOWN_SERVICE; + onChanged(); return this; } // optional int64 request_id = 5; + private long requestId_ ; public boolean hasRequestId() { - return result.hasRequestId(); + return ((bitField0_ & 0x00000004) == 0x00000004); } public long getRequestId() { - return result.getRequestId(); + return requestId_; } public Builder setRequestId(long value) { - result.hasRequestId = true; - result.requestId_ = value; + bitField0_ |= 0x00000004; + requestId_ = value; + onChanged(); return this; } public Builder clearRequestId() { - result.hasRequestId = false; - result.requestId_ = 0L; + bitField0_ = (bitField0_ & ~0x00000004); + requestId_ = 0L; + onChanged(); return this; } // optional bool hasFailed = 4; + private boolean hasFailed_ ; public boolean hasHasFailed() { - return result.hasHasFailed(); + return ((bitField0_ & 0x00000008) == 0x00000008); } public boolean getHasFailed() { - return result.getHasFailed(); + return hasFailed_; } public Builder setHasFailed(boolean value) { - result.hasHasFailed = true; - result.hasFailed_ = value; + bitField0_ |= 0x00000008; + hasFailed_ = value; + onChanged(); return this; } public Builder clearHasFailed() { - result.hasHasFailed = false; - result.hasFailed_ = false; + bitField0_ = (bitField0_ & ~0x00000008); + hasFailed_ = false; + onChanged(); return this; } // optional bool canceled = 6; + private boolean canceled_ ; public boolean hasCanceled() { - return result.hasCanceled(); + return ((bitField0_ & 0x00000010) == 0x00000010); } public boolean getCanceled() { - return result.getCanceled(); + return canceled_; } public Builder setCanceled(boolean value) { - result.hasCanceled = true; - result.canceled_ = value; + bitField0_ |= 0x00000010; + canceled_ = value; + onChanged(); return this; } public Builder clearCanceled() { - result.hasCanceled = false; - result.canceled_ = false; + bitField0_ = (bitField0_ & ~0x00000010); + canceled_ = false; + onChanged(); return this; } // optional bool done = 7 [default = true]; + private boolean done_ = true; public boolean hasDone() { - return result.hasDone(); + return ((bitField0_ & 0x00000020) == 0x00000020); } public boolean getDone() { - return result.getDone(); + return done_; } public Builder setDone(boolean value) { - result.hasDone = true; - result.done_ = value; + bitField0_ |= 0x00000020; + done_ = value; + onChanged(); return this; } public Builder clearDone() { - result.hasDone = false; - result.done_ = true; + bitField0_ = (bitField0_ & ~0x00000020); + done_ = true; + onChanged(); return this; } // optional string error_text = 3; + private java.lang.Object errorText_ = ""; public boolean hasErrorText() { - return result.hasErrorText(); - } - public java.lang.String getErrorText() { - return result.getErrorText(); + return ((bitField0_ & 0x00000040) == 0x00000040); + } + public String getErrorText() { + java.lang.Object ref = errorText_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + errorText_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setErrorText(java.lang.String value) { + public Builder setErrorText(String value) { if (value == null) { throw new NullPointerException(); } - result.hasErrorText = true; - result.errorText_ = value; + bitField0_ |= 0x00000040; + errorText_ = value; + onChanged(); return this; } public Builder clearErrorText() { - result.hasErrorText = false; - result.errorText_ = getDefaultInstance().getErrorText(); + bitField0_ = (bitField0_ & ~0x00000040); + errorText_ = getDefaultInstance().getErrorText(); + onChanged(); return this; } + void setErrorText(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000040; + errorText_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.protobuf.Response) } static { defaultInstance = new Response(true); - com.orbekk.protobuf.Data.internalForceInit(); defaultInstance.initFields(); } @@ -1085,7 +1460,5 @@ public final class Data { }, assigner); } - public static void internalForceInit() {} - // @@protoc_insertion_point(outer_class_scope) } diff --git a/src/main/java/com/orbekk/protobuf/NewRpcChannel.java b/src/main/java/com/orbekk/protobuf/NewRpcChannel.java index 1e009fa..afb94af 100644 --- a/src/main/java/com/orbekk/protobuf/NewRpcChannel.java +++ b/src/main/java/com/orbekk/protobuf/NewRpcChannel.java @@ -33,6 +33,8 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { private volatile Socket socket = null; private final ConcurrentHashMap ongoingRequests = new ConcurrentHashMap(); + private volatile OutgoingHandler outgoingHandler = null; + private volatile IncomingHandler incomingHandler = null; class RequestMetadata { public final long id; @@ -61,12 +63,13 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } - class OutgoingHandler implements Runnable { + class OutgoingHandler extends Thread { private final Socket socket; private final BlockingQueue requests; public OutgoingHandler(Socket socket, BlockingQueue requests) { + super("OutgoingHandler"); this.socket = socket; this.requests = requests; } @@ -86,15 +89,19 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } - + @Override public void interrupt() { + super.interrupt(); + tryCloseSocket(socket); + } } - class IncomingHandler implements Runnable { + class IncomingHandler extends Thread { private Socket socket; private ExecutorService responseHandlerPool; public IncomingHandler(Socket socket, ExecutorService responseHandlerPool) { + super("IncomingHandler"); this.socket = socket; this.responseHandlerPool = responseHandlerPool; } @@ -112,6 +119,11 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } } + + @Override public void interrupt() { + super.interrupt(); + tryCloseSocket(socket); + } } public static NewRpcChannel create(String host, int port) @@ -127,14 +139,22 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } public void start() throws UnknownHostException, IOException { + if (outgoingHandler != null) { + throw new IllegalStateException("start() called twice."); + } socket = new Socket(host, port); - OutgoingHandler outgoing = new OutgoingHandler(socket, - requestQueue); - IncomingHandler incoming = new IncomingHandler(socket, - responseHandlerPool); - - new Thread(outgoing, "RequestSender: " + host + ":" + port).start(); - new Thread(incoming, "RequestReceiver: " + host + ":" + port).start(); + outgoingHandler = new OutgoingHandler(socket, requestQueue); + incomingHandler = new IncomingHandler(socket, responseHandlerPool); + + outgoingHandler.start(); + incomingHandler.start(); + } + + public void close() { + tryCloseSocket(socket); + outgoingHandler.interrupt(); + incomingHandler.interrupt(); + cancelAllRequests("channel closed."); } private void tryCloseSocket(Socket socket) { @@ -172,6 +192,12 @@ public class NewRpcChannel implements com.google.protobuf.RpcChannel { } } + private void cancelAllRequests(String reason) { + for (RequestMetadata request : ongoingRequests.values()) { + cancelRequest(request, reason); + } + } + private void cancelRequest(RequestMetadata request, String reason) { throw new IllegalStateException("Not implemented"); } diff --git a/src/main/java/com/orbekk/protobuf/RpcChannel.java b/src/main/java/com/orbekk/protobuf/RpcChannel.java index 2f53349..8e24d0c 100644 --- a/src/main/java/com/orbekk/protobuf/RpcChannel.java +++ b/src/main/java/com/orbekk/protobuf/RpcChannel.java @@ -143,7 +143,11 @@ public class RpcChannel extends Thread implements Data.Request request = createRequest(method, controller, requestMessage, responsePrototype, done); Socket socket = getSocket(); - request.writeDelimitedTo(socket.getOutputStream()); + if (socket == null) { + cancelAllRpcs(); + } else { + request.writeDelimitedTo(socket.getOutputStream()); + } } catch (IOException e) { throw new AssertionError("Should return error."); } @@ -194,7 +198,7 @@ public class RpcChannel extends Thread implements Socket socket = sockets.take(); handleResponses(socket); } catch (InterruptedException e) { - // Interrupts handled by outer loop + Thread.currentThread().interrupt(); } } } @@ -202,6 +206,7 @@ public class RpcChannel extends Thread implements public void close() { if (socket != null) { try { + this.interrupt(); socket.close(); } catch (IOException e) { logger.info("Error closing socket."); diff --git a/src/test/java/com/orbekk/protobuf/ProtobufFunctionalTest.java b/src/test/java/com/orbekk/protobuf/ProtobufFunctionalTest.java index 0b38df6..b3875e3 100644 --- a/src/test/java/com/orbekk/protobuf/ProtobufFunctionalTest.java +++ b/src/test/java/com/orbekk/protobuf/ProtobufFunctionalTest.java @@ -73,6 +73,9 @@ public class ProtobufFunctionalTest { } } + @org.junit.Test public void testConnectionRefused() throws Exception { + } + @Ignore @org.junit.Test public void testNewRpcChannel() throws Exception { NewRpcChannel channel = NewRpcChannel.create("localhost", serverport); diff --git a/src/test/java/com/orbekk/protobuf/Test.java b/src/test/java/com/orbekk/protobuf/Test.java index d396e60..3fe8efb 100644 --- a/src/test/java/com/orbekk/protobuf/Test.java +++ b/src/test/java/com/orbekk/protobuf/Test.java @@ -8,11 +8,27 @@ public final class Test { public static void registerAllExtensions( com.google.protobuf.ExtensionRegistry registry) { } + public interface Type1OrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int32 a = 1; + boolean hasA(); + int getA(); + + // optional int32 b = 2; + boolean hasB(); + int getB(); + + // optional string message = 3; + boolean hasMessage(); + String getMessage(); + } public static final class Type1 extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements Type1OrBuilder { // Use Type1.newBuilder() to construct. - private Type1() { - initFields(); + private Type1(Builder builder) { + super(builder); } private Type1(boolean noInit) {} @@ -35,44 +51,84 @@ public final class Test { return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type1_fieldAccessorTable; } + private int bitField0_; // optional int32 a = 1; public static final int A_FIELD_NUMBER = 1; - private boolean hasA; - private int a_ = 0; - public boolean hasA() { return hasA; } - public int getA() { return a_; } + private int a_; + public boolean hasA() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public int getA() { + return a_; + } // optional int32 b = 2; public static final int B_FIELD_NUMBER = 2; - private boolean hasB; - private int b_ = 0; - public boolean hasB() { return hasB; } - public int getB() { return b_; } + private int b_; + public boolean hasB() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public int getB() { + return b_; + } // optional string message = 3; public static final int MESSAGE_FIELD_NUMBER = 3; - private boolean hasMessage; - private java.lang.String message_ = ""; - public boolean hasMessage() { return hasMessage; } - public java.lang.String getMessage() { return message_; } + private java.lang.Object message_; + public boolean hasMessage() { + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public String getMessage() { + java.lang.Object ref = message_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + message_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + a_ = 0; + b_ = 0; + message_ = ""; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasA()) { - output.writeInt32(1, getA()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, a_); } - if (hasB()) { - output.writeInt32(2, getB()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeInt32(2, b_); } - if (hasMessage()) { - output.writeString(3, getMessage()); + if (((bitField0_ & 0x00000004) == 0x00000004)) { + output.writeBytes(3, getMessageBytes()); } getUnknownFields().writeTo(output); } @@ -83,23 +139,30 @@ public final class Test { if (size != -1) return size; size = 0; - if (hasA()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, getA()); + .computeInt32Size(1, a_); } - if (hasB()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(2, getB()); + .computeInt32Size(2, b_); } - if (hasMessage()) { + if (((bitField0_ & 0x00000004) == 0x00000004)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(3, getMessage()); + .computeBytesSize(3, getMessageBytes()); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.protobuf.Test.Type1 parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -174,34 +237,55 @@ public final class Test { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.protobuf.Test.Type1 result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.protobuf.Test.Type1OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type1_descriptor; + } - // Construct using com.orbekk.protobuf.Test.Type1.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type1_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Test.Type1(); - return builder; + // Construct using com.orbekk.protobuf.Test.Type1.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Test.Type1 internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Test.Type1(); + super.clear(); + a_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + b_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + message_ = ""; + bitField0_ = (bitField0_ & ~0x00000004); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -213,33 +297,43 @@ public final class Test { return com.orbekk.protobuf.Test.Type1.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Test.Type1 build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Test.Type1 result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Test.Type1 buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Test.Type1 result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Test.Type1 buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Test.Type1 result = new com.orbekk.protobuf.Test.Type1(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.a_ = a_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; + } + result.b_ = b_; + if (((from_bitField0_ & 0x00000004) == 0x00000004)) { + to_bitField0_ |= 0x00000004; } - com.orbekk.protobuf.Test.Type1 returnMe = result; - result = null; - return returnMe; + result.message_ = message_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -266,6 +360,10 @@ public final class Test { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -278,106 +376,144 @@ public final class Test { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; } case 8: { - setA(input.readInt32()); + bitField0_ |= 0x00000001; + a_ = input.readInt32(); break; } case 16: { - setB(input.readInt32()); + bitField0_ |= 0x00000002; + b_ = input.readInt32(); break; } case 26: { - setMessage(input.readString()); + bitField0_ |= 0x00000004; + message_ = input.readBytes(); break; } } } } + private int bitField0_; // optional int32 a = 1; + private int a_ ; public boolean hasA() { - return result.hasA(); + return ((bitField0_ & 0x00000001) == 0x00000001); } public int getA() { - return result.getA(); + return a_; } public Builder setA(int value) { - result.hasA = true; - result.a_ = value; + bitField0_ |= 0x00000001; + a_ = value; + onChanged(); return this; } public Builder clearA() { - result.hasA = false; - result.a_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + a_ = 0; + onChanged(); return this; } // optional int32 b = 2; + private int b_ ; public boolean hasB() { - return result.hasB(); + return ((bitField0_ & 0x00000002) == 0x00000002); } public int getB() { - return result.getB(); + return b_; } public Builder setB(int value) { - result.hasB = true; - result.b_ = value; + bitField0_ |= 0x00000002; + b_ = value; + onChanged(); return this; } public Builder clearB() { - result.hasB = false; - result.b_ = 0; + bitField0_ = (bitField0_ & ~0x00000002); + b_ = 0; + onChanged(); return this; } // optional string message = 3; + private java.lang.Object message_ = ""; public boolean hasMessage() { - return result.hasMessage(); - } - public java.lang.String getMessage() { - return result.getMessage(); + return ((bitField0_ & 0x00000004) == 0x00000004); + } + public String getMessage() { + java.lang.Object ref = message_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + message_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setMessage(java.lang.String value) { + public Builder setMessage(String value) { if (value == null) { throw new NullPointerException(); } - result.hasMessage = true; - result.message_ = value; + bitField0_ |= 0x00000004; + message_ = value; + onChanged(); return this; } public Builder clearMessage() { - result.hasMessage = false; - result.message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000004); + message_ = getDefaultInstance().getMessage(); + onChanged(); return this; } + void setMessage(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000004; + message_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.protobuf.Type1) } static { defaultInstance = new Type1(true); - com.orbekk.protobuf.Test.internalForceInit(); defaultInstance.initFields(); } // @@protoc_insertion_point(class_scope:com.orbekk.protobuf.Type1) } + public interface Type2OrBuilder + extends com.google.protobuf.MessageOrBuilder { + + // optional int32 result = 1; + boolean hasResult(); + int getResult(); + + // optional string message = 2; + boolean hasMessage(); + String getMessage(); + } public static final class Type2 extends - com.google.protobuf.GeneratedMessage { + com.google.protobuf.GeneratedMessage + implements Type2OrBuilder { // Use Type2.newBuilder() to construct. - private Type2() { - initFields(); + private Type2(Builder builder) { + super(builder); } private Type2(boolean noInit) {} @@ -400,34 +536,70 @@ public final class Test { return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type2_fieldAccessorTable; } + private int bitField0_; // optional int32 result = 1; public static final int RESULT_FIELD_NUMBER = 1; - private boolean hasResult; - private int result_ = 0; - public boolean hasResult() { return hasResult; } - public int getResult() { return result_; } + private int result_; + public boolean hasResult() { + return ((bitField0_ & 0x00000001) == 0x00000001); + } + public int getResult() { + return result_; + } // optional string message = 2; public static final int MESSAGE_FIELD_NUMBER = 2; - private boolean hasMessage; - private java.lang.String message_ = ""; - public boolean hasMessage() { return hasMessage; } - public java.lang.String getMessage() { return message_; } + private java.lang.Object message_; + public boolean hasMessage() { + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMessage() { + java.lang.Object ref = message_; + if (ref instanceof String) { + return (String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + String s = bs.toStringUtf8(); + if (com.google.protobuf.Internal.isValidUtf8(bs)) { + message_ = s; + } + return s; + } + } + private com.google.protobuf.ByteString getMessageBytes() { + java.lang.Object ref = message_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((String) ref); + message_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } private void initFields() { + result_ = 0; + message_ = ""; } + private byte memoizedIsInitialized = -1; public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized != -1) return isInitialized == 1; + + memoizedIsInitialized = 1; return true; } public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); - if (hasResult()) { - output.writeInt32(1, getResult()); + if (((bitField0_ & 0x00000001) == 0x00000001)) { + output.writeInt32(1, result_); } - if (hasMessage()) { - output.writeString(2, getMessage()); + if (((bitField0_ & 0x00000002) == 0x00000002)) { + output.writeBytes(2, getMessageBytes()); } getUnknownFields().writeTo(output); } @@ -438,19 +610,26 @@ public final class Test { if (size != -1) return size; size = 0; - if (hasResult()) { + if (((bitField0_ & 0x00000001) == 0x00000001)) { size += com.google.protobuf.CodedOutputStream - .computeInt32Size(1, getResult()); + .computeInt32Size(1, result_); } - if (hasMessage()) { + if (((bitField0_ & 0x00000002) == 0x00000002)) { size += com.google.protobuf.CodedOutputStream - .computeStringSize(2, getMessage()); + .computeBytesSize(2, getMessageBytes()); } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; } + private static final long serialVersionUID = 0L; + @java.lang.Override + protected java.lang.Object writeReplace() + throws java.io.ObjectStreamException { + return super.writeReplace(); + } + public static com.orbekk.protobuf.Test.Type2 parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { @@ -525,34 +704,53 @@ public final class Test { } public Builder toBuilder() { return newBuilder(this); } + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessage.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } public static final class Builder extends - com.google.protobuf.GeneratedMessage.Builder { - private com.orbekk.protobuf.Test.Type2 result; + com.google.protobuf.GeneratedMessage.Builder + implements com.orbekk.protobuf.Test.Type2OrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type2_descriptor; + } - // Construct using com.orbekk.protobuf.Test.Type2.newBuilder() - private Builder() {} + protected com.google.protobuf.GeneratedMessage.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.orbekk.protobuf.Test.internal_static_com_orbekk_protobuf_Type2_fieldAccessorTable; + } - private static Builder create() { - Builder builder = new Builder(); - builder.result = new com.orbekk.protobuf.Test.Type2(); - return builder; + // Construct using com.orbekk.protobuf.Test.Type2.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); } - protected com.orbekk.protobuf.Test.Type2 internalGetResult() { - return result; + private Builder(BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) { + } + } + private static Builder create() { + return new Builder(); } public Builder clear() { - if (result == null) { - throw new IllegalStateException( - "Cannot call clear() after build()."); - } - result = new com.orbekk.protobuf.Test.Type2(); + super.clear(); + result_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + message_ = ""; + bitField0_ = (bitField0_ & ~0x00000002); return this; } public Builder clone() { - return create().mergeFrom(result); + return create().mergeFrom(buildPartial()); } public com.google.protobuf.Descriptors.Descriptor @@ -564,33 +762,39 @@ public final class Test { return com.orbekk.protobuf.Test.Type2.getDefaultInstance(); } - public boolean isInitialized() { - return result.isInitialized(); - } public com.orbekk.protobuf.Test.Type2 build() { - if (result != null && !isInitialized()) { + com.orbekk.protobuf.Test.Type2 result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException(result); } - return buildPartial(); + return result; } private com.orbekk.protobuf.Test.Type2 buildParsed() throws com.google.protobuf.InvalidProtocolBufferException { - if (!isInitialized()) { + com.orbekk.protobuf.Test.Type2 result = buildPartial(); + if (!result.isInitialized()) { throw newUninitializedMessageException( result).asInvalidProtocolBufferException(); } - return buildPartial(); + return result; } public com.orbekk.protobuf.Test.Type2 buildPartial() { - if (result == null) { - throw new IllegalStateException( - "build() has already been called on this Builder."); + com.orbekk.protobuf.Test.Type2 result = new com.orbekk.protobuf.Test.Type2(this); + int from_bitField0_ = bitField0_; + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000001) == 0x00000001)) { + to_bitField0_ |= 0x00000001; + } + result.result_ = result_; + if (((from_bitField0_ & 0x00000002) == 0x00000002)) { + to_bitField0_ |= 0x00000002; } - com.orbekk.protobuf.Test.Type2 returnMe = result; - result = null; - return returnMe; + result.message_ = message_; + result.bitField0_ = to_bitField0_; + onBuilt(); + return result; } public Builder mergeFrom(com.google.protobuf.Message other) { @@ -614,6 +818,10 @@ public final class Test { return this; } + public final boolean isInitialized() { + return true; + } + public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -626,73 +834,95 @@ public final class Test { switch (tag) { case 0: this.setUnknownFields(unknownFields.build()); + onChanged(); return this; default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { this.setUnknownFields(unknownFields.build()); + onChanged(); return this; } break; } case 8: { - setResult(input.readInt32()); + bitField0_ |= 0x00000001; + result_ = input.readInt32(); break; } case 18: { - setMessage(input.readString()); + bitField0_ |= 0x00000002; + message_ = input.readBytes(); break; } } } } + private int bitField0_; // optional int32 result = 1; + private int result_ ; public boolean hasResult() { - return result.hasResult(); + return ((bitField0_ & 0x00000001) == 0x00000001); } public int getResult() { - return result.getResult(); + return result_; } public Builder setResult(int value) { - result.hasResult = true; - result.result_ = value; + bitField0_ |= 0x00000001; + result_ = value; + onChanged(); return this; } public Builder clearResult() { - result.hasResult = false; - result.result_ = 0; + bitField0_ = (bitField0_ & ~0x00000001); + result_ = 0; + onChanged(); return this; } // optional string message = 2; + private java.lang.Object message_ = ""; public boolean hasMessage() { - return result.hasMessage(); - } - public java.lang.String getMessage() { - return result.getMessage(); + return ((bitField0_ & 0x00000002) == 0x00000002); + } + public String getMessage() { + java.lang.Object ref = message_; + if (!(ref instanceof String)) { + String s = ((com.google.protobuf.ByteString) ref).toStringUtf8(); + message_ = s; + return s; + } else { + return (String) ref; + } } - public Builder setMessage(java.lang.String value) { + public Builder setMessage(String value) { if (value == null) { throw new NullPointerException(); } - result.hasMessage = true; - result.message_ = value; + bitField0_ |= 0x00000002; + message_ = value; + onChanged(); return this; } public Builder clearMessage() { - result.hasMessage = false; - result.message_ = getDefaultInstance().getMessage(); + bitField0_ = (bitField0_ & ~0x00000002); + message_ = getDefaultInstance().getMessage(); + onChanged(); return this; } + void setMessage(com.google.protobuf.ByteString value) { + bitField0_ |= 0x00000002; + message_ = value; + onChanged(); + } // @@protoc_insertion_point(builder_scope:com.orbekk.protobuf.Type2) } static { defaultInstance = new Type2(true); - com.orbekk.protobuf.Test.internalForceInit(); defaultInstance.initFields(); } @@ -724,7 +954,7 @@ public final class Test { public static com.google.protobuf.Service newReflectiveService( final Interface impl) { return new Service() { - @Override + @java.lang.Override public void testA( com.google.protobuf.RpcController controller, com.orbekk.protobuf.Test.Type1 request, @@ -732,7 +962,7 @@ public final class Test { impl.testA(controller, request, done); } - @Override + @java.lang.Override public void testB( com.google.protobuf.RpcController controller, com.orbekk.protobuf.Test.Type1 request, @@ -740,7 +970,7 @@ public final class Test { impl.testB(controller, request, done); } - @Override + @java.lang.Override public void testC( com.google.protobuf.RpcController controller, com.orbekk.protobuf.Test.Type1 request, @@ -1110,7 +1340,5 @@ public final class Test { }, assigner); } - public static void internalForceInit() {} - // @@protoc_insertion_point(outer_class_scope) } -- cgit v1.2.3