Use Protobuf Json formatting for routeguide example

This commit is contained in:
Carl Mastrangelo 2016-03-02 09:30:35 -08:00
parent 3a4b266b4f
commit 8e1fba7c90
8 changed files with 1345 additions and 641 deletions

View File

@ -135,6 +135,7 @@ subprojects {
protobuf: "com.google.protobuf:protobuf-java:${protobufVersion}",
protobuf_nano: "com.google.protobuf.nano:protobuf-javanano:${protobufNanoVersion}",
protobuf_plugin: 'com.google.protobuf:protobuf-gradle-plugin:0.7.4',
protobuf_util: "com.google.protobuf:protobuf-java-util:${protobufVersion}",
netty: 'io.netty:netty-codec-http2:4.1.0.CR3',
netty_epoll: 'io.netty:netty-transport-native-epoll:4.1.0.CR3' + epoll_suffix,

View File

@ -29,7 +29,7 @@ dependencies {
project(':grpc-netty'),
project(':grpc-protobuf'),
project(':grpc-stub'),
'org.glassfish:javax.json:1.0.4'
libraries.protobuf_util
}
configureProtoCompilation()

View File

@ -0,0 +1,663 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: route_guide.proto
package io.grpc.examples.routeguide;
/**
* Protobuf type {@code routeguide.FeatureDatabase}
*
* <pre>
* Not used in the RPC. Instead, this is here for the form serialized to disk.
* </pre>
*/
public final class FeatureDatabase extends
com.google.protobuf.GeneratedMessage implements
// @@protoc_insertion_point(message_implements:routeguide.FeatureDatabase)
FeatureDatabaseOrBuilder {
// Use FeatureDatabase.newBuilder() to construct.
private FeatureDatabase(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
super(builder);
}
private FeatureDatabase() {
feature_ = java.util.Collections.emptyList();
}
@java.lang.Override
public final com.google.protobuf.UnknownFieldSet
getUnknownFields() {
return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
}
private FeatureDatabase(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry) {
this();
int mutable_bitField0_ = 0;
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
default: {
if (!input.skipField(tag)) {
done = true;
}
break;
}
case 10: {
if (!((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
feature_ = new java.util.ArrayList<io.grpc.examples.routeguide.Feature>();
mutable_bitField0_ |= 0x00000001;
}
feature_.add(input.readMessage(io.grpc.examples.routeguide.Feature.parser(), extensionRegistry));
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw new RuntimeException(e.setUnfinishedMessage(this));
} catch (java.io.IOException e) {
throw new RuntimeException(
new com.google.protobuf.InvalidProtocolBufferException(
e.getMessage()).setUnfinishedMessage(this));
} finally {
if (((mutable_bitField0_ & 0x00000001) == 0x00000001)) {
feature_ = java.util.Collections.unmodifiableList(feature_);
}
makeExtensionsImmutable();
}
}
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.grpc.examples.routeguide.RouteGuideProto.internal_static_routeguide_FeatureDatabase_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.grpc.examples.routeguide.RouteGuideProto.internal_static_routeguide_FeatureDatabase_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.grpc.examples.routeguide.FeatureDatabase.class, io.grpc.examples.routeguide.FeatureDatabase.Builder.class);
}
public static final int FEATURE_FIELD_NUMBER = 1;
private java.util.List<io.grpc.examples.routeguide.Feature> feature_;
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public java.util.List<io.grpc.examples.routeguide.Feature> getFeatureList() {
return feature_;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public java.util.List<? extends io.grpc.examples.routeguide.FeatureOrBuilder>
getFeatureOrBuilderList() {
return feature_;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public int getFeatureCount() {
return feature_.size();
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.Feature getFeature(int index) {
return feature_.get(index);
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.FeatureOrBuilder getFeatureOrBuilder(
int index) {
return feature_.get(index);
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
public void writeTo(com.google.protobuf.CodedOutputStream output)
throws java.io.IOException {
for (int i = 0; i < feature_.size(); i++) {
output.writeMessage(1, feature_.get(i));
}
}
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
for (int i = 0; i < feature_.size(); i++) {
size += com.google.protobuf.CodedOutputStream
.computeMessageSize(1, feature_.get(i));
}
memoizedSize = size;
return size;
}
private static final long serialVersionUID = 0L;
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
byte[] data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseDelimitedFrom(java.io.InputStream input)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseDelimitedFrom(
java.io.InputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseDelimitedFrom(input, extensionRegistry);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
com.google.protobuf.CodedInputStream input)
throws java.io.IOException {
return PARSER.parseFrom(input);
}
public static io.grpc.examples.routeguide.FeatureDatabase parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return PARSER.parseFrom(input, extensionRegistry);
}
public Builder newBuilderForType() { return newBuilder(); }
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(io.grpc.examples.routeguide.FeatureDatabase prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
public Builder toBuilder() {
return this == DEFAULT_INSTANCE
? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
* Protobuf type {@code routeguide.FeatureDatabase}
*
* <pre>
* Not used in the RPC. Instead, this is here for the form serialized to disk.
* </pre>
*/
public static final class Builder extends
com.google.protobuf.GeneratedMessage.Builder<Builder> implements
// @@protoc_insertion_point(builder_implements:routeguide.FeatureDatabase)
io.grpc.examples.routeguide.FeatureDatabaseOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor
getDescriptor() {
return io.grpc.examples.routeguide.RouteGuideProto.internal_static_routeguide_FeatureDatabase_descriptor;
}
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable() {
return io.grpc.examples.routeguide.RouteGuideProto.internal_static_routeguide_FeatureDatabase_fieldAccessorTable
.ensureFieldAccessorsInitialized(
io.grpc.examples.routeguide.FeatureDatabase.class, io.grpc.examples.routeguide.FeatureDatabase.Builder.class);
}
// Construct using io.grpc.examples.routeguide.FeatureDatabase.newBuilder()
private Builder() {
maybeForceBuilderInitialization();
}
private Builder(
com.google.protobuf.GeneratedMessage.BuilderParent parent) {
super(parent);
maybeForceBuilderInitialization();
}
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
getFeatureFieldBuilder();
}
}
public Builder clear() {
super.clear();
if (featureBuilder_ == null) {
feature_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000001);
} else {
featureBuilder_.clear();
}
return this;
}
public com.google.protobuf.Descriptors.Descriptor
getDescriptorForType() {
return io.grpc.examples.routeguide.RouteGuideProto.internal_static_routeguide_FeatureDatabase_descriptor;
}
public io.grpc.examples.routeguide.FeatureDatabase getDefaultInstanceForType() {
return io.grpc.examples.routeguide.FeatureDatabase.getDefaultInstance();
}
public io.grpc.examples.routeguide.FeatureDatabase build() {
io.grpc.examples.routeguide.FeatureDatabase result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
public io.grpc.examples.routeguide.FeatureDatabase buildPartial() {
io.grpc.examples.routeguide.FeatureDatabase result = new io.grpc.examples.routeguide.FeatureDatabase(this);
int from_bitField0_ = bitField0_;
if (featureBuilder_ == null) {
if (((bitField0_ & 0x00000001) == 0x00000001)) {
feature_ = java.util.Collections.unmodifiableList(feature_);
bitField0_ = (bitField0_ & ~0x00000001);
}
result.feature_ = feature_;
} else {
result.feature_ = featureBuilder_.build();
}
onBuilt();
return result;
}
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof io.grpc.examples.routeguide.FeatureDatabase) {
return mergeFrom((io.grpc.examples.routeguide.FeatureDatabase)other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(io.grpc.examples.routeguide.FeatureDatabase other) {
if (other == io.grpc.examples.routeguide.FeatureDatabase.getDefaultInstance()) return this;
if (featureBuilder_ == null) {
if (!other.feature_.isEmpty()) {
if (feature_.isEmpty()) {
feature_ = other.feature_;
bitField0_ = (bitField0_ & ~0x00000001);
} else {
ensureFeatureIsMutable();
feature_.addAll(other.feature_);
}
onChanged();
}
} else {
if (!other.feature_.isEmpty()) {
if (featureBuilder_.isEmpty()) {
featureBuilder_.dispose();
featureBuilder_ = null;
feature_ = other.feature_;
bitField0_ = (bitField0_ & ~0x00000001);
featureBuilder_ =
com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
getFeatureFieldBuilder() : null;
} else {
featureBuilder_.addAllMessages(other.feature_);
}
}
}
onChanged();
return this;
}
public final boolean isInitialized() {
return true;
}
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
io.grpc.examples.routeguide.FeatureDatabase parsedMessage = null;
try {
parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
parsedMessage = (io.grpc.examples.routeguide.FeatureDatabase) e.getUnfinishedMessage();
throw e;
} finally {
if (parsedMessage != null) {
mergeFrom(parsedMessage);
}
}
return this;
}
private int bitField0_;
private java.util.List<io.grpc.examples.routeguide.Feature> feature_ =
java.util.Collections.emptyList();
private void ensureFeatureIsMutable() {
if (!((bitField0_ & 0x00000001) == 0x00000001)) {
feature_ = new java.util.ArrayList<io.grpc.examples.routeguide.Feature>(feature_);
bitField0_ |= 0x00000001;
}
}
private com.google.protobuf.RepeatedFieldBuilder<
io.grpc.examples.routeguide.Feature, io.grpc.examples.routeguide.Feature.Builder, io.grpc.examples.routeguide.FeatureOrBuilder> featureBuilder_;
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public java.util.List<io.grpc.examples.routeguide.Feature> getFeatureList() {
if (featureBuilder_ == null) {
return java.util.Collections.unmodifiableList(feature_);
} else {
return featureBuilder_.getMessageList();
}
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public int getFeatureCount() {
if (featureBuilder_ == null) {
return feature_.size();
} else {
return featureBuilder_.getCount();
}
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.Feature getFeature(int index) {
if (featureBuilder_ == null) {
return feature_.get(index);
} else {
return featureBuilder_.getMessage(index);
}
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder setFeature(
int index, io.grpc.examples.routeguide.Feature value) {
if (featureBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFeatureIsMutable();
feature_.set(index, value);
onChanged();
} else {
featureBuilder_.setMessage(index, value);
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder setFeature(
int index, io.grpc.examples.routeguide.Feature.Builder builderForValue) {
if (featureBuilder_ == null) {
ensureFeatureIsMutable();
feature_.set(index, builderForValue.build());
onChanged();
} else {
featureBuilder_.setMessage(index, builderForValue.build());
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder addFeature(io.grpc.examples.routeguide.Feature value) {
if (featureBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFeatureIsMutable();
feature_.add(value);
onChanged();
} else {
featureBuilder_.addMessage(value);
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder addFeature(
int index, io.grpc.examples.routeguide.Feature value) {
if (featureBuilder_ == null) {
if (value == null) {
throw new NullPointerException();
}
ensureFeatureIsMutable();
feature_.add(index, value);
onChanged();
} else {
featureBuilder_.addMessage(index, value);
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder addFeature(
io.grpc.examples.routeguide.Feature.Builder builderForValue) {
if (featureBuilder_ == null) {
ensureFeatureIsMutable();
feature_.add(builderForValue.build());
onChanged();
} else {
featureBuilder_.addMessage(builderForValue.build());
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder addFeature(
int index, io.grpc.examples.routeguide.Feature.Builder builderForValue) {
if (featureBuilder_ == null) {
ensureFeatureIsMutable();
feature_.add(index, builderForValue.build());
onChanged();
} else {
featureBuilder_.addMessage(index, builderForValue.build());
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder addAllFeature(
java.lang.Iterable<? extends io.grpc.examples.routeguide.Feature> values) {
if (featureBuilder_ == null) {
ensureFeatureIsMutable();
com.google.protobuf.AbstractMessageLite.Builder.addAll(
values, feature_);
onChanged();
} else {
featureBuilder_.addAllMessages(values);
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder clearFeature() {
if (featureBuilder_ == null) {
feature_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000001);
onChanged();
} else {
featureBuilder_.clear();
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public Builder removeFeature(int index) {
if (featureBuilder_ == null) {
ensureFeatureIsMutable();
feature_.remove(index);
onChanged();
} else {
featureBuilder_.remove(index);
}
return this;
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.Feature.Builder getFeatureBuilder(
int index) {
return getFeatureFieldBuilder().getBuilder(index);
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.FeatureOrBuilder getFeatureOrBuilder(
int index) {
if (featureBuilder_ == null) {
return feature_.get(index); } else {
return featureBuilder_.getMessageOrBuilder(index);
}
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public java.util.List<? extends io.grpc.examples.routeguide.FeatureOrBuilder>
getFeatureOrBuilderList() {
if (featureBuilder_ != null) {
return featureBuilder_.getMessageOrBuilderList();
} else {
return java.util.Collections.unmodifiableList(feature_);
}
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.Feature.Builder addFeatureBuilder() {
return getFeatureFieldBuilder().addBuilder(
io.grpc.examples.routeguide.Feature.getDefaultInstance());
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public io.grpc.examples.routeguide.Feature.Builder addFeatureBuilder(
int index) {
return getFeatureFieldBuilder().addBuilder(
index, io.grpc.examples.routeguide.Feature.getDefaultInstance());
}
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
public java.util.List<io.grpc.examples.routeguide.Feature.Builder>
getFeatureBuilderList() {
return getFeatureFieldBuilder().getBuilderList();
}
private com.google.protobuf.RepeatedFieldBuilder<
io.grpc.examples.routeguide.Feature, io.grpc.examples.routeguide.Feature.Builder, io.grpc.examples.routeguide.FeatureOrBuilder>
getFeatureFieldBuilder() {
if (featureBuilder_ == null) {
featureBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
io.grpc.examples.routeguide.Feature, io.grpc.examples.routeguide.Feature.Builder, io.grpc.examples.routeguide.FeatureOrBuilder>(
feature_,
((bitField0_ & 0x00000001) == 0x00000001),
getParentForChildren(),
isClean());
feature_ = null;
}
return featureBuilder_;
}
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return this;
}
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return this;
}
// @@protoc_insertion_point(builder_scope:routeguide.FeatureDatabase)
}
// @@protoc_insertion_point(class_scope:routeguide.FeatureDatabase)
private static final io.grpc.examples.routeguide.FeatureDatabase DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new io.grpc.examples.routeguide.FeatureDatabase();
}
public static io.grpc.examples.routeguide.FeatureDatabase getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser<FeatureDatabase>
PARSER = new com.google.protobuf.AbstractParser<FeatureDatabase>() {
public FeatureDatabase parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
try {
return new FeatureDatabase(input, extensionRegistry);
} catch (RuntimeException e) {
if (e.getCause() instanceof
com.google.protobuf.InvalidProtocolBufferException) {
throw (com.google.protobuf.InvalidProtocolBufferException)
e.getCause();
}
throw e;
}
}
};
public static com.google.protobuf.Parser<FeatureDatabase> parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser<FeatureDatabase> getParserForType() {
return PARSER;
}
public io.grpc.examples.routeguide.FeatureDatabase getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}

View File

@ -0,0 +1,33 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: route_guide.proto
package io.grpc.examples.routeguide;
public interface FeatureDatabaseOrBuilder extends
// @@protoc_insertion_point(interface_extends:routeguide.FeatureDatabase)
com.google.protobuf.MessageOrBuilder {
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
java.util.List<io.grpc.examples.routeguide.Feature>
getFeatureList();
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
io.grpc.examples.routeguide.Feature getFeature(int index);
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
int getFeatureCount();
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
java.util.List<? extends io.grpc.examples.routeguide.FeatureOrBuilder>
getFeatureOrBuilderList();
/**
* <code>repeated .routeguide.Feature feature = 1;</code>
*/
io.grpc.examples.routeguide.FeatureOrBuilder getFeatureOrBuilder(
int index);
}

View File

@ -23,6 +23,11 @@ public final class RouteGuideProto {
static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_routeguide_Feature_fieldAccessorTable;
static com.google.protobuf.Descriptors.Descriptor
internal_static_routeguide_FeatureDatabase_descriptor;
static
com.google.protobuf.GeneratedMessage.FieldAccessorTable
internal_static_routeguide_FeatureDatabase_fieldAccessorTable;
static com.google.protobuf.Descriptors.Descriptor
internal_static_routeguide_RouteNote_descriptor;
static
@ -47,19 +52,21 @@ public final class RouteGuideProto {
"\tRectangle\022\035\n\002lo\030\001 \001(\0132\021.routeguide.Poin" +
"t\022\035\n\002hi\030\002 \001(\0132\021.routeguide.Point\"<\n\007Feat" +
"ure\022\014\n\004name\030\001 \001(\t\022#\n\010location\030\002 \001(\0132\021.ro" +
"uteguide.Point\"A\n\tRouteNote\022#\n\010location\030" +
"\001 \001(\0132\021.routeguide.Point\022\017\n\007message\030\002 \001(" +
"\t\"b\n\014RouteSummary\022\023\n\013point_count\030\001 \001(\005\022\025" +
"\n\rfeature_count\030\002 \001(\005\022\020\n\010distance\030\003 \001(\005\022" +
"\024\n\014elapsed_time\030\004 \001(\0052\205\002\n\nRouteGuide\0226\n\n",
"GetFeature\022\021.routeguide.Point\032\023.routegui" +
"de.Feature\"\000\022>\n\014ListFeatures\022\025.routeguid" +
"e.Rectangle\032\023.routeguide.Feature\"\0000\001\022>\n\013" +
"RecordRoute\022\021.routeguide.Point\032\030.routegu" +
"ide.RouteSummary\"\000(\001\022?\n\tRouteChat\022\025.rout" +
"eguide.RouteNote\032\025.routeguide.RouteNote\"" +
"\000(\0010\001B6\n\033io.grpc.examples.routeguideB\017Ro" +
"uteGuideProtoP\001\242\002\003RTGb\006proto3"
"uteguide.Point\"7\n\017FeatureDatabase\022$\n\007fea" +
"ture\030\001 \003(\0132\023.routeguide.Feature\"A\n\tRoute" +
"Note\022#\n\010location\030\001 \001(\0132\021.routeguide.Poin" +
"t\022\017\n\007message\030\002 \001(\t\"b\n\014RouteSummary\022\023\n\013po" +
"int_count\030\001 \001(\005\022\025\n\rfeature_count\030\002 \001(\005\022\020",
"\n\010distance\030\003 \001(\005\022\024\n\014elapsed_time\030\004 \001(\0052\205" +
"\002\n\nRouteGuide\0226\n\nGetFeature\022\021.routeguide" +
".Point\032\023.routeguide.Feature\"\000\022>\n\014ListFea" +
"tures\022\025.routeguide.Rectangle\032\023.routeguid" +
"e.Feature\"\0000\001\022>\n\013RecordRoute\022\021.routeguid" +
"e.Point\032\030.routeguide.RouteSummary\"\000(\001\022?\n" +
"\tRouteChat\022\025.routeguide.RouteNote\032\025.rout" +
"eguide.RouteNote\"\000(\0010\001B6\n\033io.grpc.exampl" +
"es.routeguideB\017RouteGuideProtoP\001\242\002\003RTGb\006" +
"proto3"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() {
@ -91,14 +98,20 @@ public final class RouteGuideProto {
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_routeguide_Feature_descriptor,
new java.lang.String[] { "Name", "Location", });
internal_static_routeguide_RouteNote_descriptor =
internal_static_routeguide_FeatureDatabase_descriptor =
getDescriptor().getMessageTypes().get(3);
internal_static_routeguide_FeatureDatabase_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_routeguide_FeatureDatabase_descriptor,
new java.lang.String[] { "Feature", });
internal_static_routeguide_RouteNote_descriptor =
getDescriptor().getMessageTypes().get(4);
internal_static_routeguide_RouteNote_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_routeguide_RouteNote_descriptor,
new java.lang.String[] { "Location", "Message", });
internal_static_routeguide_RouteSummary_descriptor =
getDescriptor().getMessageTypes().get(4);
getDescriptor().getMessageTypes().get(5);
internal_static_routeguide_RouteSummary_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_routeguide_RouteSummary_descriptor,

View File

@ -31,17 +31,15 @@
package io.grpc.examples.routeguide;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;
import javax.json.JsonValue;
/**
* Common utilities for the RouteGuide demo.
*/
@ -75,25 +73,14 @@ public class RouteGuideUtil {
public static List<Feature> parseFeatures(URL file) throws IOException {
InputStream input = file.openStream();
try {
JsonReader reader = Json.createReader(input);
List<Feature> features = new ArrayList<Feature>();
for (JsonValue value : reader.readArray()) {
JsonObject obj = (JsonObject) value;
String name = obj.getString("name", "");
JsonObject location = obj.getJsonObject("location");
int lat = location.getInt("latitude");
int lon = location.getInt("longitude");
Feature feature =
Feature
.newBuilder()
.setName(name)
.setLocation(
Point.newBuilder().setLatitude(lat)
.setLongitude(lon).build()).build();
features.add(feature);
Reader reader = new InputStreamReader(input);
try {
FeatureDatabase.Builder database = FeatureDatabase.newBuilder();
JsonFormat.parser().merge(reader, database);
return database.getFeatureList();
} finally {
reader.close();
}
return features;
} finally {
input.close();
}

View File

@ -97,6 +97,11 @@ message Feature {
Point location = 2;
}
// Not used in the RPC. Instead, this is here for the form serialized to disk.
message FeatureDatabase {
repeated Feature feature = 1;
}
// A RouteNote is a message sent while at a given point.
message RouteNote {
// The location from which the message is sent.

View File

@ -1,601 +1,603 @@
[{
{
"feature": [{
"location": {
"latitude": 407838351,
"longitude": -746143763
},
"name": "Patriots Path, Mendham, NJ 07945, USA"
}, {
}, {
"location": {
"latitude": 408122808,
"longitude": -743999179
},
"name": "101 New Jersey 10, Whippany, NJ 07981, USA"
}, {
}, {
"location": {
"latitude": 413628156,
"longitude": -749015468
},
"name": "U.S. 6, Shohola, PA 18458, USA"
}, {
}, {
"location": {
"latitude": 419999544,
"longitude": -740371136
},
"name": "5 Conners Road, Kingston, NY 12401, USA"
}, {
}, {
"location": {
"latitude": 414008389,
"longitude": -743951297
},
"name": "Mid Hudson Psychiatric Center, New Hampton, NY 10958, USA"
}, {
}, {
"location": {
"latitude": 419611318,
"longitude": -746524769
},
"name": "287 Flugertown Road, Livingston Manor, NY 12758, USA"
}, {
}, {
"location": {
"latitude": 406109563,
"longitude": -742186778
},
"name": "4001 Tremley Point Road, Linden, NJ 07036, USA"
}, {
}, {
"location": {
"latitude": 416802456,
"longitude": -742370183
},
"name": "352 South Mountain Road, Wallkill, NY 12589, USA"
}, {
}, {
"location": {
"latitude": 412950425,
"longitude": -741077389
},
"name": "Bailey Turn Road, Harriman, NY 10926, USA"
}, {
}, {
"location": {
"latitude": 412144655,
"longitude": -743949739
},
"name": "193-199 Wawayanda Road, Hewitt, NJ 07421, USA"
}, {
}, {
"location": {
"latitude": 415736605,
"longitude": -742847522
},
"name": "406-496 Ward Avenue, Pine Bush, NY 12566, USA"
}, {
}, {
"location": {
"latitude": 413843930,
"longitude": -740501726
},
"name": "162 Merrill Road, Highland Mills, NY 10930, USA"
}, {
}, {
"location": {
"latitude": 410873075,
"longitude": -744459023
},
"name": "Clinton Road, West Milford, NJ 07480, USA"
}, {
}, {
"location": {
"latitude": 412346009,
"longitude": -744026814
},
"name": "16 Old Brook Lane, Warwick, NY 10990, USA"
}, {
}, {
"location": {
"latitude": 402948455,
"longitude": -747903913
},
"name": "3 Drake Lane, Pennington, NJ 08534, USA"
}, {
}, {
"location": {
"latitude": 406337092,
"longitude": -740122226
},
"name": "6324 8th Avenue, Brooklyn, NY 11220, USA"
}, {
}, {
"location": {
"latitude": 406421967,
"longitude": -747727624
},
"name": "1 Merck Access Road, Whitehouse Station, NJ 08889, USA"
}, {
}, {
"location": {
"latitude": 416318082,
"longitude": -749677716
},
"name": "78-98 Schalck Road, Narrowsburg, NY 12764, USA"
}, {
}, {
"location": {
"latitude": 415301720,
"longitude": -748416257
},
"name": "282 Lakeview Drive Road, Highland Lake, NY 12743, USA"
}, {
}, {
"location": {
"latitude": 402647019,
"longitude": -747071791
},
"name": "330 Evelyn Avenue, Hamilton Township, NJ 08619, USA"
}, {
}, {
"location": {
"latitude": 412567807,
"longitude": -741058078
},
"name": "New York State Reference Route 987E, Southfields, NY 10975, USA"
}, {
}, {
"location": {
"latitude": 416855156,
"longitude": -744420597
},
"name": "103-271 Tempaloni Road, Ellenville, NY 12428, USA"
}, {
}, {
"location": {
"latitude": 404663628,
"longitude": -744820157
},
"name": "1300 Airport Road, North Brunswick Township, NJ 08902, USA"
}, {
}, {
"location": {
"latitude": 407113723,
"longitude": -749746483
},
"name": ""
}, {
}, {
"location": {
"latitude": 402133926,
"longitude": -743613249
},
"name": ""
}, {
}, {
"location": {
"latitude": 400273442,
"longitude": -741220915
},
"name": ""
}, {
}, {
"location": {
"latitude": 411236786,
"longitude": -744070769
},
"name": ""
}, {
}, {
"location": {
"latitude": 411633782,
"longitude": -746784970
},
"name": "211-225 Plains Road, Augusta, NJ 07822, USA"
}, {
}, {
"location": {
"latitude": 415830701,
"longitude": -742952812
},
"name": ""
}, {
}, {
"location": {
"latitude": 413447164,
"longitude": -748712898
},
"name": "165 Pedersen Ridge Road, Milford, PA 18337, USA"
}, {
}, {
"location": {
"latitude": 405047245,
"longitude": -749800722
},
"name": "100-122 Locktown Road, Frenchtown, NJ 08825, USA"
}, {
}, {
"location": {
"latitude": 418858923,
"longitude": -746156790
},
"name": ""
}, {
}, {
"location": {
"latitude": 417951888,
"longitude": -748484944
},
"name": "650-652 Willi Hill Road, Swan Lake, NY 12783, USA"
}, {
}, {
"location": {
"latitude": 407033786,
"longitude": -743977337
},
"name": "26 East 3rd Street, New Providence, NJ 07974, USA"
}, {
}, {
"location": {
"latitude": 417548014,
"longitude": -740075041
},
"name": ""
}, {
}, {
"location": {
"latitude": 410395868,
"longitude": -744972325
},
"name": ""
}, {
}, {
"location": {
"latitude": 404615353,
"longitude": -745129803
},
"name": ""
}, {
}, {
"location": {
"latitude": 406589790,
"longitude": -743560121
},
"name": "611 Lawrence Avenue, Westfield, NJ 07090, USA"
}, {
}, {
"location": {
"latitude": 414653148,
"longitude": -740477477
},
"name": "18 Lannis Avenue, New Windsor, NY 12553, USA"
}, {
}, {
"location": {
"latitude": 405957808,
"longitude": -743255336
},
"name": "82-104 Amherst Avenue, Colonia, NJ 07067, USA"
}, {
}, {
"location": {
"latitude": 411733589,
"longitude": -741648093
},
"name": "170 Seven Lakes Drive, Sloatsburg, NY 10974, USA"
}, {
}, {
"location": {
"latitude": 412676291,
"longitude": -742606606
},
"name": "1270 Lakes Road, Monroe, NY 10950, USA"
}, {
}, {
"location": {
"latitude": 409224445,
"longitude": -748286738
},
"name": "509-535 Alphano Road, Great Meadows, NJ 07838, USA"
}, {
}, {
"location": {
"latitude": 406523420,
"longitude": -742135517
},
"name": "652 Garden Street, Elizabeth, NJ 07202, USA"
}, {
}, {
"location": {
"latitude": 401827388,
"longitude": -740294537
},
"name": "349 Sea Spray Court, Neptune City, NJ 07753, USA"
}, {
}, {
"location": {
"latitude": 410564152,
"longitude": -743685054
},
"name": "13-17 Stanley Street, West Milford, NJ 07480, USA"
}, {
}, {
"location": {
"latitude": 408472324,
"longitude": -740726046
},
"name": "47 Industrial Avenue, Teterboro, NJ 07608, USA"
}, {
}, {
"location": {
"latitude": 412452168,
"longitude": -740214052
},
"name": "5 White Oak Lane, Stony Point, NY 10980, USA"
}, {
}, {
"location": {
"latitude": 409146138,
"longitude": -746188906
},
"name": "Berkshire Valley Management Area Trail, Jefferson, NJ, USA"
}, {
}, {
"location": {
"latitude": 404701380,
"longitude": -744781745
},
"name": "1007 Jersey Avenue, New Brunswick, NJ 08901, USA"
}, {
}, {
"location": {
"latitude": 409642566,
"longitude": -746017679
},
"name": "6 East Emerald Isle Drive, Lake Hopatcong, NJ 07849, USA"
}, {
}, {
"location": {
"latitude": 408031728,
"longitude": -748645385
},
"name": "1358-1474 New Jersey 57, Port Murray, NJ 07865, USA"
}, {
}, {
"location": {
"latitude": 413700272,
"longitude": -742135189
},
"name": "367 Prospect Road, Chester, NY 10918, USA"
}, {
}, {
"location": {
"latitude": 404310607,
"longitude": -740282632
},
"name": "10 Simon Lake Drive, Atlantic Highlands, NJ 07716, USA"
}, {
}, {
"location": {
"latitude": 409319800,
"longitude": -746201391
},
"name": "11 Ward Street, Mount Arlington, NJ 07856, USA"
}, {
}, {
"location": {
"latitude": 406685311,
"longitude": -742108603
},
"name": "300-398 Jefferson Avenue, Elizabeth, NJ 07201, USA"
}, {
}, {
"location": {
"latitude": 419018117,
"longitude": -749142781
},
"name": "43 Dreher Road, Roscoe, NY 12776, USA"
}, {
}, {
"location": {
"latitude": 412856162,
"longitude": -745148837
},
"name": "Swan Street, Pine Island, NY 10969, USA"
}, {
}, {
"location": {
"latitude": 416560744,
"longitude": -746721964
},
"name": "66 Pleasantview Avenue, Monticello, NY 12701, USA"
}, {
}, {
"location": {
"latitude": 405314270,
"longitude": -749836354
},
"name": ""
}, {
}, {
"location": {
"latitude": 414219548,
"longitude": -743327440
},
"name": ""
}, {
}, {
"location": {
"latitude": 415534177,
"longitude": -742900616
},
"name": "565 Winding Hills Road, Montgomery, NY 12549, USA"
}, {
}, {
"location": {
"latitude": 406898530,
"longitude": -749127080
},
"name": "231 Rocky Run Road, Glen Gardner, NJ 08826, USA"
}, {
}, {
"location": {
"latitude": 407586880,
"longitude": -741670168
},
"name": "100 Mount Pleasant Avenue, Newark, NJ 07104, USA"
}, {
}, {
"location": {
"latitude": 400106455,
"longitude": -742870190
},
"name": "517-521 Huntington Drive, Manchester Township, NJ 08759, USA"
}, {
}, {
"location": {
"latitude": 400066188,
"longitude": -746793294
},
"name": ""
}, {
}, {
"location": {
"latitude": 418803880,
"longitude": -744102673
},
"name": "40 Mountain Road, Napanoch, NY 12458, USA"
}, {
}, {
"location": {
"latitude": 414204288,
"longitude": -747895140
},
"name": ""
}, {
}, {
"location": {
"latitude": 414777405,
"longitude": -740615601
},
"name": ""
}, {
}, {
"location": {
"latitude": 415464475,
"longitude": -747175374
},
"name": "48 North Road, Forestburgh, NY 12777, USA"
}, {
}, {
"location": {
"latitude": 404062378,
"longitude": -746376177
},
"name": ""
}, {
}, {
"location": {
"latitude": 405688272,
"longitude": -749285130
},
"name": ""
}, {
}, {
"location": {
"latitude": 400342070,
"longitude": -748788996
},
"name": ""
}, {
}, {
"location": {
"latitude": 401809022,
"longitude": -744157964
},
"name": ""
}, {
}, {
"location": {
"latitude": 404226644,
"longitude": -740517141
},
"name": "9 Thompson Avenue, Leonardo, NJ 07737, USA"
}, {
}, {
"location": {
"latitude": 410322033,
"longitude": -747871659
},
"name": ""
}, {
}, {
"location": {
"latitude": 407100674,
"longitude": -747742727
},
"name": ""
}, {
}, {
"location": {
"latitude": 418811433,
"longitude": -741718005
},
"name": "213 Bush Road, Stone Ridge, NY 12484, USA"
}, {
}, {
"location": {
"latitude": 415034302,
"longitude": -743850945
},
"name": ""
}, {
}, {
"location": {
"latitude": 411349992,
"longitude": -743694161
},
"name": ""
}, {
}, {
"location": {
"latitude": 404839914,
"longitude": -744759616
},
"name": "1-17 Bergen Court, New Brunswick, NJ 08901, USA"
}, {
}, {
"location": {
"latitude": 414638017,
"longitude": -745957854
},
"name": "35 Oakland Valley Road, Cuddebackville, NY 12729, USA"
}, {
}, {
"location": {
"latitude": 412127800,
"longitude": -740173578
},
"name": ""
}, {
}, {
"location": {
"latitude": 401263460,
"longitude": -747964303
},
"name": ""
}, {
}, {
"location": {
"latitude": 412843391,
"longitude": -749086026
},
"name": ""
}, {
}, {
"location": {
"latitude": 418512773,
"longitude": -743067823
},
"name": ""
}, {
}, {
"location": {
"latitude": 404318328,
"longitude": -740835638
},
"name": "42-102 Main Street, Belford, NJ 07718, USA"
}, {
}, {
"location": {
"latitude": 419020746,
"longitude": -741172328
},
"name": ""
}, {
}, {
"location": {
"latitude": 404080723,
"longitude": -746119569
},
"name": ""
}, {
}, {
"location": {
"latitude": 401012643,
"longitude": -744035134
},
"name": ""
}, {
}, {
"location": {
"latitude": 404306372,
"longitude": -741079661
},
"name": ""
}, {
}, {
"location": {
"latitude": 403966326,
"longitude": -748519297
},
"name": ""
}, {
}, {
"location": {
"latitude": 405002031,
"longitude": -748407866
},
"name": ""
}, {
}, {
"location": {
"latitude": 409532885,
"longitude": -742200683
},
"name": ""
}, {
}, {
"location": {
"latitude": 416851321,
"longitude": -742674555
},
"name": ""
}, {
}, {
"location": {
"latitude": 406411633,
"longitude": -741722051
},
"name": "3387 Richmond Terrace, Staten Island, NY 10303, USA"
}, {
}, {
"location": {
"latitude": 413069058,
"longitude": -744597778
},
"name": "261 Van Sickle Road, Goshen, NY 10924, USA"
}, {
}, {
"location": {
"latitude": 418465462,
"longitude": -746859398
},
"name": ""
}, {
}, {
"location": {
"latitude": 411733222,
"longitude": -744228360
},
"name": ""
}, {
}, {
"location": {
"latitude": 410248224,
"longitude": -747127767
},
"name": "3 Hasta Way, Newton, NJ 07860, USA"
}]
}]
}