From 18bcee24e93e1cf8de86fa74159501ab0047a813 Mon Sep 17 00:00:00 2001 From: lazarog98 <lazarog98@mi.fu-berlin.de> Date: Fri, 3 Mar 2023 12:50:38 +0000 Subject: [PATCH] Resolve "Create a roadnetwork proto for roadnetwork data" --- .gitignore | 26 + .vscode/settings.json | 3 + README.md | 18 +- mapbuilder/pom.xml | 80 + mapbuilder/src/main/java/map/builder/App.java | 13 + .../java/map/builder/protos/Location.java | 591 ++++++ .../map/builder/protos/LocationOrBuilder.java | 29 + .../main/java/map/builder/protos/Node.java | 909 +++++++++ .../map/builder/protos/NodeOrBuilder.java | 66 + .../java/map/builder/protos/Restriction.java | 587 ++++++ .../builder/protos/RestrictionOrBuilder.java | 29 + .../java/map/builder/protos/RoadCategory.java | 184 ++ .../java/map/builder/protos/RoadNetwork.java | 1750 +++++++++++++++++ .../builder/protos/RoadNetworkOrBuilder.java | 141 ++ .../map/builder/protos/RoadNetworkProto.java | 108 + .../main/java/map/builder/protos/Segment.java | 1275 ++++++++++++ .../map/builder/protos/SegmentOrBuilder.java | 115 ++ .../builder/protos/schema/roadnetwork.proto | 75 + .../src/test/java/map/builder/AppTest.java | 20 + 19 files changed, 6018 insertions(+), 1 deletion(-) create mode 100644 .vscode/settings.json create mode 100644 mapbuilder/pom.xml create mode 100644 mapbuilder/src/main/java/map/builder/App.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/Location.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/LocationOrBuilder.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/Node.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/NodeOrBuilder.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/Restriction.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/RestrictionOrBuilder.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/RoadCategory.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/RoadNetwork.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/RoadNetworkOrBuilder.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/RoadNetworkProto.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/Segment.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/SegmentOrBuilder.java create mode 100644 mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto create mode 100644 mapbuilder/src/test/java/map/builder/AppTest.java diff --git a/.gitignore b/.gitignore index c16d8eb..71f7833 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,29 @@ **/.idea/ **ubyte* + +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* +Footer diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5f3f6b --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.configuration.updateBuildConfiguration": "interactive" +} \ No newline at end of file diff --git a/README.md b/README.md index 921d624..83b0880 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,20 @@ Legend: * oval - data source * blue oval - data generated by us * rectangle - a service -* green outline - microservice \ No newline at end of file +* green outline - microservice + +## Development + +##### To generate classes from proto definition, one has to execute from the root directory + +First install the protobuf compiler with : + +```sh +sudo apt install protobuf-compiler +``` + +If you want to build the protos from source schema, you should use the command : + +```sh +protoc -I=./mapbuilder/src/main/java/map/builder/protos/ --java_out=./ ./mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto +``` \ No newline at end of file diff --git a/mapbuilder/pom.xml b/mapbuilder/pom.xml new file mode 100644 index 0000000..eec293a --- /dev/null +++ b/mapbuilder/pom.xml @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <groupId>map.builder</groupId> + <artifactId>mapbuilder</artifactId> + <version>1.4</version> + + <name>mapbuilder</name> + <!-- FIXME change it to the project's website --> + <url>http://www.example.com</url> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <maven.compiler.source>1.7</maven.compiler.source> + <maven.compiler.target>1.7</maven.compiler.target> + </properties> + + <dependencies> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + <version>3.21.12</version> + </dependency> + </dependencies> + + <build> + <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> + <plugins> + <!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle --> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <version>3.1.0</version> + </plugin> + <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging --> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>3.0.2</version> + </plugin> + <plugin> + <artifactId>maven-compiler-plugin</artifactId> + <version>3.8.0</version> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <version>2.22.1</version> + </plugin> + <plugin> + <artifactId>maven-jar-plugin</artifactId> + <version>3.0.2</version> + </plugin> + <plugin> + <artifactId>maven-install-plugin</artifactId> + <version>2.5.2</version> + </plugin> + <plugin> + <artifactId>maven-deploy-plugin</artifactId> + <version>2.8.2</version> + </plugin> + <!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle --> + <plugin> + <artifactId>maven-site-plugin</artifactId> + <version>3.7.1</version> + </plugin> + <plugin> + <artifactId>maven-project-info-reports-plugin</artifactId> + <version>3.0.0</version> + </plugin> + </plugins> + </pluginManagement> + </build> +</project> diff --git a/mapbuilder/src/main/java/map/builder/App.java b/mapbuilder/src/main/java/map/builder/App.java new file mode 100644 index 0000000..bd4567f --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/App.java @@ -0,0 +1,13 @@ +package map.builder; + +/** + * Hello world! + * + */ +public class App +{ + public static void main( String[] args ) + { + System.out.println( "Hello World!" ); + } +} diff --git a/mapbuilder/src/main/java/map/builder/protos/Location.java b/mapbuilder/src/main/java/map/builder/protos/Location.java new file mode 100644 index 0000000..3240e9c --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/Location.java @@ -0,0 +1,591 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + * A location is geographical point. The coordinate system used is WGS 84 + * </pre> + * + * Protobuf type {@code protos.Location} + */ +public final class Location extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:protos.Location) + LocationOrBuilder { +private static final long serialVersionUID = 0L; + // Use Location.newBuilder() to construct. + private Location(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Location() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Location(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Location( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 13: { + + lat_ = input.readFloat(); + break; + } + case 21: { + + lon_ = input.readFloat(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Location_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Location_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Location.class, map.builder.protos.Location.Builder.class); + } + + public static final int LAT_FIELD_NUMBER = 1; + private float lat_; + /** + * <pre> + * lat corresponds to the latitude of the point + * </pre> + * + * <code>float lat = 1;</code> + * @return The lat. + */ + @java.lang.Override + public float getLat() { + return lat_; + } + + public static final int LON_FIELD_NUMBER = 2; + private float lon_; + /** + * <pre> + * lon corresponds to the longitude of the point + * </pre> + * + * <code>float lon = 2;</code> + * @return The lon. + */ + @java.lang.Override + public float getLon() { + return lon_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (lat_ != 0F) { + output.writeFloat(1, lat_); + } + if (lon_ != 0F) { + output.writeFloat(2, lon_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (lat_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(1, lat_); + } + if (lon_ != 0F) { + size += com.google.protobuf.CodedOutputStream + .computeFloatSize(2, lon_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof map.builder.protos.Location)) { + return super.equals(obj); + } + map.builder.protos.Location other = (map.builder.protos.Location) obj; + + if (java.lang.Float.floatToIntBits(getLat()) + != java.lang.Float.floatToIntBits( + other.getLat())) return false; + if (java.lang.Float.floatToIntBits(getLon()) + != java.lang.Float.floatToIntBits( + other.getLon())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + LAT_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getLat()); + hash = (37 * hash) + LON_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits( + getLon()); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static map.builder.protos.Location parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Location parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Location parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Location parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Location parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Location parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Location parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Location parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Location parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static map.builder.protos.Location parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Location parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Location parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(map.builder.protos.Location prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + * A location is geographical point. The coordinate system used is WGS 84 + * </pre> + * + * Protobuf type {@code protos.Location} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:protos.Location) + map.builder.protos.LocationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Location_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Location_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Location.class, map.builder.protos.Location.Builder.class); + } + + // Construct using map.builder.protos.Location.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + lat_ = 0F; + + lon_ = 0F; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Location_descriptor; + } + + @java.lang.Override + public map.builder.protos.Location getDefaultInstanceForType() { + return map.builder.protos.Location.getDefaultInstance(); + } + + @java.lang.Override + public map.builder.protos.Location build() { + map.builder.protos.Location result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public map.builder.protos.Location buildPartial() { + map.builder.protos.Location result = new map.builder.protos.Location(this); + result.lat_ = lat_; + result.lon_ = lon_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof map.builder.protos.Location) { + return mergeFrom((map.builder.protos.Location)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(map.builder.protos.Location other) { + if (other == map.builder.protos.Location.getDefaultInstance()) return this; + if (other.getLat() != 0F) { + setLat(other.getLat()); + } + if (other.getLon() != 0F) { + setLon(other.getLon()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + map.builder.protos.Location parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (map.builder.protos.Location) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private float lat_ ; + /** + * <pre> + * lat corresponds to the latitude of the point + * </pre> + * + * <code>float lat = 1;</code> + * @return The lat. + */ + @java.lang.Override + public float getLat() { + return lat_; + } + /** + * <pre> + * lat corresponds to the latitude of the point + * </pre> + * + * <code>float lat = 1;</code> + * @param value The lat to set. + * @return This builder for chaining. + */ + public Builder setLat(float value) { + + lat_ = value; + onChanged(); + return this; + } + /** + * <pre> + * lat corresponds to the latitude of the point + * </pre> + * + * <code>float lat = 1;</code> + * @return This builder for chaining. + */ + public Builder clearLat() { + + lat_ = 0F; + onChanged(); + return this; + } + + private float lon_ ; + /** + * <pre> + * lon corresponds to the longitude of the point + * </pre> + * + * <code>float lon = 2;</code> + * @return The lon. + */ + @java.lang.Override + public float getLon() { + return lon_; + } + /** + * <pre> + * lon corresponds to the longitude of the point + * </pre> + * + * <code>float lon = 2;</code> + * @param value The lon to set. + * @return This builder for chaining. + */ + public Builder setLon(float value) { + + lon_ = value; + onChanged(); + return this; + } + /** + * <pre> + * lon corresponds to the longitude of the point + * </pre> + * + * <code>float lon = 2;</code> + * @return This builder for chaining. + */ + public Builder clearLon() { + + lon_ = 0F; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:protos.Location) + } + + // @@protoc_insertion_point(class_scope:protos.Location) + private static final map.builder.protos.Location DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new map.builder.protos.Location(); + } + + public static map.builder.protos.Location getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Location> + PARSER = new com.google.protobuf.AbstractParser<Location>() { + @java.lang.Override + public Location parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Location(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Location> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Location> getParserForType() { + return PARSER; + } + + @java.lang.Override + public map.builder.protos.Location getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/LocationOrBuilder.java b/mapbuilder/src/main/java/map/builder/protos/LocationOrBuilder.java new file mode 100644 index 0000000..fb1937f --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/LocationOrBuilder.java @@ -0,0 +1,29 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public interface LocationOrBuilder extends + // @@protoc_insertion_point(interface_extends:protos.Location) + com.google.protobuf.MessageOrBuilder { + + /** + * <pre> + * lat corresponds to the latitude of the point + * </pre> + * + * <code>float lat = 1;</code> + * @return The lat. + */ + float getLat(); + + /** + * <pre> + * lon corresponds to the longitude of the point + * </pre> + * + * <code>float lon = 2;</code> + * @return The lon. + */ + float getLon(); +} diff --git a/mapbuilder/src/main/java/map/builder/protos/Node.java b/mapbuilder/src/main/java/map/builder/protos/Node.java new file mode 100644 index 0000000..4c8905a --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/Node.java @@ -0,0 +1,909 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + * Nodes represent usually intersections in our network. + * </pre> + * + * Protobuf type {@code protos.Node} + */ +public final class Node extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:protos.Node) + NodeOrBuilder { +private static final long serialVersionUID = 0L; + // Use Node.newBuilder() to construct. + private Node(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Node() { + osmId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Node(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Node( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + id_ = input.readUInt32(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + osmId_ = s; + break; + } + case 26: { + map.builder.protos.Location.Builder subBuilder = null; + if (position_ != null) { + subBuilder = position_.toBuilder(); + } + position_ = input.readMessage(map.builder.protos.Location.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(position_); + position_ = subBuilder.buildPartial(); + } + + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Node_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Node_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Node.class, map.builder.protos.Node.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private int id_; + /** + * <pre> + * Internally used ids of our segments + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + @java.lang.Override + public int getId() { + return id_; + } + + public static final int OSM_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object osmId_; + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + @java.lang.Override + public java.lang.String getOsmId() { + java.lang.Object ref = osmId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + osmId_ = s; + return s; + } + } + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getOsmIdBytes() { + java.lang.Object ref = osmId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + osmId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int POSITION_FIELD_NUMBER = 3; + private map.builder.protos.Location position_; + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return Whether the position field is set. + */ + @java.lang.Override + public boolean hasPosition() { + return position_ != null; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return The position. + */ + @java.lang.Override + public map.builder.protos.Location getPosition() { + return position_ == null ? map.builder.protos.Location.getDefaultInstance() : position_; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + @java.lang.Override + public map.builder.protos.LocationOrBuilder getPositionOrBuilder() { + return getPosition(); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (id_ != 0) { + output.writeUInt32(1, id_); + } + if (!getOsmIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, osmId_); + } + if (position_ != null) { + output.writeMessage(3, getPosition()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, id_); + } + if (!getOsmIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, osmId_); + } + if (position_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getPosition()); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof map.builder.protos.Node)) { + return super.equals(obj); + } + map.builder.protos.Node other = (map.builder.protos.Node) obj; + + if (getId() + != other.getId()) return false; + if (!getOsmId() + .equals(other.getOsmId())) return false; + if (hasPosition() != other.hasPosition()) return false; + if (hasPosition()) { + if (!getPosition() + .equals(other.getPosition())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId(); + hash = (37 * hash) + OSM_ID_FIELD_NUMBER; + hash = (53 * hash) + getOsmId().hashCode(); + if (hasPosition()) { + hash = (37 * hash) + POSITION_FIELD_NUMBER; + hash = (53 * hash) + getPosition().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static map.builder.protos.Node parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Node parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Node parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Node parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Node parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Node parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Node parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Node parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Node parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static map.builder.protos.Node parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Node parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Node parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(map.builder.protos.Node prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + * Nodes represent usually intersections in our network. + * </pre> + * + * Protobuf type {@code protos.Node} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:protos.Node) + map.builder.protos.NodeOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Node_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Node_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Node.class, map.builder.protos.Node.Builder.class); + } + + // Construct using map.builder.protos.Node.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + id_ = 0; + + osmId_ = ""; + + if (positionBuilder_ == null) { + position_ = null; + } else { + position_ = null; + positionBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Node_descriptor; + } + + @java.lang.Override + public map.builder.protos.Node getDefaultInstanceForType() { + return map.builder.protos.Node.getDefaultInstance(); + } + + @java.lang.Override + public map.builder.protos.Node build() { + map.builder.protos.Node result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public map.builder.protos.Node buildPartial() { + map.builder.protos.Node result = new map.builder.protos.Node(this); + result.id_ = id_; + result.osmId_ = osmId_; + if (positionBuilder_ == null) { + result.position_ = position_; + } else { + result.position_ = positionBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof map.builder.protos.Node) { + return mergeFrom((map.builder.protos.Node)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(map.builder.protos.Node other) { + if (other == map.builder.protos.Node.getDefaultInstance()) return this; + if (other.getId() != 0) { + setId(other.getId()); + } + if (!other.getOsmId().isEmpty()) { + osmId_ = other.osmId_; + onChanged(); + } + if (other.hasPosition()) { + mergePosition(other.getPosition()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + map.builder.protos.Node parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (map.builder.protos.Node) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int id_ ; + /** + * <pre> + * Internally used ids of our segments + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + @java.lang.Override + public int getId() { + return id_; + } + /** + * <pre> + * Internally used ids of our segments + * </pre> + * + * <code>uint32 id = 1;</code> + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId(int value) { + + id_ = value; + onChanged(); + return this; + } + /** + * <pre> + * Internally used ids of our segments + * </pre> + * + * <code>uint32 id = 1;</code> + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = 0; + onChanged(); + return this; + } + + private java.lang.Object osmId_ = ""; + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + public java.lang.String getOsmId() { + java.lang.Object ref = osmId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + osmId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + public com.google.protobuf.ByteString + getOsmIdBytes() { + java.lang.Object ref = osmId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + osmId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @param value The osmId to set. + * @return This builder for chaining. + */ + public Builder setOsmId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + osmId_ = value; + onChanged(); + return this; + } + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return This builder for chaining. + */ + public Builder clearOsmId() { + + osmId_ = getDefaultInstance().getOsmId(); + onChanged(); + return this; + } + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @param value The bytes for osmId to set. + * @return This builder for chaining. + */ + public Builder setOsmIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + osmId_ = value; + onChanged(); + return this; + } + + private map.builder.protos.Location position_; + private com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder> positionBuilder_; + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return Whether the position field is set. + */ + public boolean hasPosition() { + return positionBuilder_ != null || position_ != null; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return The position. + */ + public map.builder.protos.Location getPosition() { + if (positionBuilder_ == null) { + return position_ == null ? map.builder.protos.Location.getDefaultInstance() : position_; + } else { + return positionBuilder_.getMessage(); + } + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public Builder setPosition(map.builder.protos.Location value) { + if (positionBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + position_ = value; + onChanged(); + } else { + positionBuilder_.setMessage(value); + } + + return this; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public Builder setPosition( + map.builder.protos.Location.Builder builderForValue) { + if (positionBuilder_ == null) { + position_ = builderForValue.build(); + onChanged(); + } else { + positionBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public Builder mergePosition(map.builder.protos.Location value) { + if (positionBuilder_ == null) { + if (position_ != null) { + position_ = + map.builder.protos.Location.newBuilder(position_).mergeFrom(value).buildPartial(); + } else { + position_ = value; + } + onChanged(); + } else { + positionBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public Builder clearPosition() { + if (positionBuilder_ == null) { + position_ = null; + onChanged(); + } else { + position_ = null; + positionBuilder_ = null; + } + + return this; + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public map.builder.protos.Location.Builder getPositionBuilder() { + + onChanged(); + return getPositionFieldBuilder().getBuilder(); + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + public map.builder.protos.LocationOrBuilder getPositionOrBuilder() { + if (positionBuilder_ != null) { + return positionBuilder_.getMessageOrBuilder(); + } else { + return position_ == null ? + map.builder.protos.Location.getDefaultInstance() : position_; + } + } + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder> + getPositionFieldBuilder() { + if (positionBuilder_ == null) { + positionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder>( + getPosition(), + getParentForChildren(), + isClean()); + position_ = null; + } + return positionBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:protos.Node) + } + + // @@protoc_insertion_point(class_scope:protos.Node) + private static final map.builder.protos.Node DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new map.builder.protos.Node(); + } + + public static map.builder.protos.Node getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Node> + PARSER = new com.google.protobuf.AbstractParser<Node>() { + @java.lang.Override + public Node parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Node(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Node> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Node> getParserForType() { + return PARSER; + } + + @java.lang.Override + public map.builder.protos.Node getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/NodeOrBuilder.java b/mapbuilder/src/main/java/map/builder/protos/NodeOrBuilder.java new file mode 100644 index 0000000..c11e825 --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/NodeOrBuilder.java @@ -0,0 +1,66 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public interface NodeOrBuilder extends + // @@protoc_insertion_point(interface_extends:protos.Node) + com.google.protobuf.MessageOrBuilder { + + /** + * <pre> + * Internally used ids of our segments + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + int getId(); + + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + java.lang.String getOsmId(); + /** + * <pre> + * Vendor IDs of OSM data, used for referencing the original data + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + com.google.protobuf.ByteString + getOsmIdBytes(); + + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return Whether the position field is set. + */ + boolean hasPosition(); + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + * @return The position. + */ + map.builder.protos.Location getPosition(); + /** + * <pre> + * Coordinaes of the intersection + * </pre> + * + * <code>.protos.Location position = 3;</code> + */ + map.builder.protos.LocationOrBuilder getPositionOrBuilder(); +} diff --git a/mapbuilder/src/main/java/map/builder/protos/Restriction.java b/mapbuilder/src/main/java/map/builder/protos/Restriction.java new file mode 100644 index 0000000..1bb6b5e --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/Restriction.java @@ -0,0 +1,587 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + * A restricted turn from one segment to another, which are adjacent to each other + * </pre> + * + * Protobuf type {@code protos.Restriction} + */ +public final class Restriction extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:protos.Restriction) + RestrictionOrBuilder { +private static final long serialVersionUID = 0L; + // Use Restriction.newBuilder() to construct. + private Restriction(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Restriction() { + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Restriction(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Restriction( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + fromId_ = input.readUInt32(); + break; + } + case 16: { + + toId_ = input.readUInt32(); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Restriction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Restriction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Restriction.class, map.builder.protos.Restriction.Builder.class); + } + + public static final int FROM_ID_FIELD_NUMBER = 1; + private int fromId_; + /** + * <pre> + * from_id is the id of the segment from which the turn originates + * </pre> + * + * <code>uint32 from_id = 1;</code> + * @return The fromId. + */ + @java.lang.Override + public int getFromId() { + return fromId_; + } + + public static final int TO_ID_FIELD_NUMBER = 2; + private int toId_; + /** + * <pre> + * to_id is the id of the segment in which the turn ends + * </pre> + * + * <code>uint32 to_id = 2;</code> + * @return The toId. + */ + @java.lang.Override + public int getToId() { + return toId_; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (fromId_ != 0) { + output.writeUInt32(1, fromId_); + } + if (toId_ != 0) { + output.writeUInt32(2, toId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (fromId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, fromId_); + } + if (toId_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(2, toId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof map.builder.protos.Restriction)) { + return super.equals(obj); + } + map.builder.protos.Restriction other = (map.builder.protos.Restriction) obj; + + if (getFromId() + != other.getFromId()) return false; + if (getToId() + != other.getToId()) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + FROM_ID_FIELD_NUMBER; + hash = (53 * hash) + getFromId(); + hash = (37 * hash) + TO_ID_FIELD_NUMBER; + hash = (53 * hash) + getToId(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static map.builder.protos.Restriction parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Restriction parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Restriction parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Restriction parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Restriction parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Restriction parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Restriction parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Restriction parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Restriction parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static map.builder.protos.Restriction parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Restriction parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Restriction parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(map.builder.protos.Restriction prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + * A restricted turn from one segment to another, which are adjacent to each other + * </pre> + * + * Protobuf type {@code protos.Restriction} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:protos.Restriction) + map.builder.protos.RestrictionOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Restriction_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Restriction_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Restriction.class, map.builder.protos.Restriction.Builder.class); + } + + // Construct using map.builder.protos.Restriction.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + fromId_ = 0; + + toId_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Restriction_descriptor; + } + + @java.lang.Override + public map.builder.protos.Restriction getDefaultInstanceForType() { + return map.builder.protos.Restriction.getDefaultInstance(); + } + + @java.lang.Override + public map.builder.protos.Restriction build() { + map.builder.protos.Restriction result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public map.builder.protos.Restriction buildPartial() { + map.builder.protos.Restriction result = new map.builder.protos.Restriction(this); + result.fromId_ = fromId_; + result.toId_ = toId_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof map.builder.protos.Restriction) { + return mergeFrom((map.builder.protos.Restriction)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(map.builder.protos.Restriction other) { + if (other == map.builder.protos.Restriction.getDefaultInstance()) return this; + if (other.getFromId() != 0) { + setFromId(other.getFromId()); + } + if (other.getToId() != 0) { + setToId(other.getToId()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + map.builder.protos.Restriction parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (map.builder.protos.Restriction) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int fromId_ ; + /** + * <pre> + * from_id is the id of the segment from which the turn originates + * </pre> + * + * <code>uint32 from_id = 1;</code> + * @return The fromId. + */ + @java.lang.Override + public int getFromId() { + return fromId_; + } + /** + * <pre> + * from_id is the id of the segment from which the turn originates + * </pre> + * + * <code>uint32 from_id = 1;</code> + * @param value The fromId to set. + * @return This builder for chaining. + */ + public Builder setFromId(int value) { + + fromId_ = value; + onChanged(); + return this; + } + /** + * <pre> + * from_id is the id of the segment from which the turn originates + * </pre> + * + * <code>uint32 from_id = 1;</code> + * @return This builder for chaining. + */ + public Builder clearFromId() { + + fromId_ = 0; + onChanged(); + return this; + } + + private int toId_ ; + /** + * <pre> + * to_id is the id of the segment in which the turn ends + * </pre> + * + * <code>uint32 to_id = 2;</code> + * @return The toId. + */ + @java.lang.Override + public int getToId() { + return toId_; + } + /** + * <pre> + * to_id is the id of the segment in which the turn ends + * </pre> + * + * <code>uint32 to_id = 2;</code> + * @param value The toId to set. + * @return This builder for chaining. + */ + public Builder setToId(int value) { + + toId_ = value; + onChanged(); + return this; + } + /** + * <pre> + * to_id is the id of the segment in which the turn ends + * </pre> + * + * <code>uint32 to_id = 2;</code> + * @return This builder for chaining. + */ + public Builder clearToId() { + + toId_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:protos.Restriction) + } + + // @@protoc_insertion_point(class_scope:protos.Restriction) + private static final map.builder.protos.Restriction DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new map.builder.protos.Restriction(); + } + + public static map.builder.protos.Restriction getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Restriction> + PARSER = new com.google.protobuf.AbstractParser<Restriction>() { + @java.lang.Override + public Restriction parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Restriction(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Restriction> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Restriction> getParserForType() { + return PARSER; + } + + @java.lang.Override + public map.builder.protos.Restriction getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/RestrictionOrBuilder.java b/mapbuilder/src/main/java/map/builder/protos/RestrictionOrBuilder.java new file mode 100644 index 0000000..14cb968 --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/RestrictionOrBuilder.java @@ -0,0 +1,29 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public interface RestrictionOrBuilder extends + // @@protoc_insertion_point(interface_extends:protos.Restriction) + com.google.protobuf.MessageOrBuilder { + + /** + * <pre> + * from_id is the id of the segment from which the turn originates + * </pre> + * + * <code>uint32 from_id = 1;</code> + * @return The fromId. + */ + int getFromId(); + + /** + * <pre> + * to_id is the id of the segment in which the turn ends + * </pre> + * + * <code>uint32 to_id = 2;</code> + * @return The toId. + */ + int getToId(); +} diff --git a/mapbuilder/src/main/java/map/builder/protos/RoadCategory.java b/mapbuilder/src/main/java/map/builder/protos/RoadCategory.java new file mode 100644 index 0000000..1dd644f --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/RoadCategory.java @@ -0,0 +1,184 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + * RoadCategory groups road segments into several classes + * </pre> + * + * Protobuf enum {@code protos.RoadCategory} + */ +public enum RoadCategory + implements com.google.protobuf.ProtocolMessageEnum { + /** + * <pre> + * a special value to indicate that the field is not set + * </pre> + * + * <code>ROAD_CATEGORY_INVALID = 0;</code> + */ + ROAD_CATEGORY_INVALID(0), + /** + * <pre> + * represents motorway and trunks, according to the specification of OSM's data + * </pre> + * + * <code>ROAD_CATEGORY_HIGHWAY = 1;</code> + */ + ROAD_CATEGORY_HIGHWAY(1), + /** + * <pre> + * often link larger towns + * </pre> + * + * <code>ROAD_CATEGORY_MAIN = 2;</code> + */ + ROAD_CATEGORY_MAIN(2), + /** + * <pre> + * represents a road within a city or connecting small towns + * </pre> + * + * <code>ROAD_CATEGORY_LOCAL = 3;</code> + */ + ROAD_CATEGORY_LOCAL(3), + /** + * <pre> + * represents a vehicular access to small streets connecting roads with apartments, buildings + * </pre> + * + * <code>ROAD_CATEGORY_RESIDENTIAL = 4;</code> + */ + ROAD_CATEGORY_RESIDENTIAL(4), + UNRECOGNIZED(-1), + ; + + /** + * <pre> + * a special value to indicate that the field is not set + * </pre> + * + * <code>ROAD_CATEGORY_INVALID = 0;</code> + */ + public static final int ROAD_CATEGORY_INVALID_VALUE = 0; + /** + * <pre> + * represents motorway and trunks, according to the specification of OSM's data + * </pre> + * + * <code>ROAD_CATEGORY_HIGHWAY = 1;</code> + */ + public static final int ROAD_CATEGORY_HIGHWAY_VALUE = 1; + /** + * <pre> + * often link larger towns + * </pre> + * + * <code>ROAD_CATEGORY_MAIN = 2;</code> + */ + public static final int ROAD_CATEGORY_MAIN_VALUE = 2; + /** + * <pre> + * represents a road within a city or connecting small towns + * </pre> + * + * <code>ROAD_CATEGORY_LOCAL = 3;</code> + */ + public static final int ROAD_CATEGORY_LOCAL_VALUE = 3; + /** + * <pre> + * represents a vehicular access to small streets connecting roads with apartments, buildings + * </pre> + * + * <code>ROAD_CATEGORY_RESIDENTIAL = 4;</code> + */ + public static final int ROAD_CATEGORY_RESIDENTIAL_VALUE = 4; + + + public final int getNumber() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalArgumentException( + "Can't get the number of an unknown enum value."); + } + return value; + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static RoadCategory valueOf(int value) { + return forNumber(value); + } + + /** + * @param value The numeric wire value of the corresponding enum entry. + * @return The enum associated with the given numeric wire value. + */ + public static RoadCategory forNumber(int value) { + switch (value) { + case 0: return ROAD_CATEGORY_INVALID; + case 1: return ROAD_CATEGORY_HIGHWAY; + case 2: return ROAD_CATEGORY_MAIN; + case 3: return ROAD_CATEGORY_LOCAL; + case 4: return ROAD_CATEGORY_RESIDENTIAL; + default: return null; + } + } + + public static com.google.protobuf.Internal.EnumLiteMap<RoadCategory> + internalGetValueMap() { + return internalValueMap; + } + private static final com.google.protobuf.Internal.EnumLiteMap< + RoadCategory> internalValueMap = + new com.google.protobuf.Internal.EnumLiteMap<RoadCategory>() { + public RoadCategory findValueByNumber(int number) { + return RoadCategory.forNumber(number); + } + }; + + public final com.google.protobuf.Descriptors.EnumValueDescriptor + getValueDescriptor() { + if (this == UNRECOGNIZED) { + throw new java.lang.IllegalStateException( + "Can't get the descriptor of an unrecognized enum value."); + } + return getDescriptor().getValues().get(ordinal()); + } + public final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptorForType() { + return getDescriptor(); + } + public static final com.google.protobuf.Descriptors.EnumDescriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.getDescriptor().getEnumTypes().get(0); + } + + private static final RoadCategory[] VALUES = values(); + + public static RoadCategory valueOf( + com.google.protobuf.Descriptors.EnumValueDescriptor desc) { + if (desc.getType() != getDescriptor()) { + throw new java.lang.IllegalArgumentException( + "EnumValueDescriptor is not for this type."); + } + if (desc.getIndex() == -1) { + return UNRECOGNIZED; + } + return VALUES[desc.getIndex()]; + } + + private final int value; + + private RoadCategory(int value) { + this.value = value; + } + + // @@protoc_insertion_point(enum_scope:protos.RoadCategory) +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/RoadNetwork.java b/mapbuilder/src/main/java/map/builder/protos/RoadNetwork.java new file mode 100644 index 0000000..999496c --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/RoadNetwork.java @@ -0,0 +1,1750 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + *Roadnetwork represents our whole roadnetwork + * </pre> + * + * Protobuf type {@code protos.RoadNetwork} + */ +public final class RoadNetwork extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:protos.RoadNetwork) + RoadNetworkOrBuilder { +private static final long serialVersionUID = 0L; + // Use RoadNetwork.newBuilder() to construct. + private RoadNetwork(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private RoadNetwork() { + nodes_ = java.util.Collections.emptyList(); + segments_ = java.util.Collections.emptyList(); + turnRestrictions_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new RoadNetwork(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private RoadNetwork( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + nodes_ = new java.util.ArrayList<map.builder.protos.Node>(); + mutable_bitField0_ |= 0x00000001; + } + nodes_.add( + input.readMessage(map.builder.protos.Node.parser(), extensionRegistry)); + break; + } + case 18: { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + segments_ = new java.util.ArrayList<map.builder.protos.Segment>(); + mutable_bitField0_ |= 0x00000002; + } + segments_.add( + input.readMessage(map.builder.protos.Segment.parser(), extensionRegistry)); + break; + } + case 26: { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + turnRestrictions_ = new java.util.ArrayList<map.builder.protos.Restriction>(); + mutable_bitField0_ |= 0x00000004; + } + turnRestrictions_.add( + input.readMessage(map.builder.protos.Restriction.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + nodes_ = java.util.Collections.unmodifiableList(nodes_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + segments_ = java.util.Collections.unmodifiableList(segments_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + turnRestrictions_ = java.util.Collections.unmodifiableList(turnRestrictions_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_RoadNetwork_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_RoadNetwork_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.RoadNetwork.class, map.builder.protos.RoadNetwork.Builder.class); + } + + public static final int NODES_FIELD_NUMBER = 1; + private java.util.List<map.builder.protos.Node> nodes_; + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + @java.lang.Override + public java.util.List<map.builder.protos.Node> getNodesList() { + return nodes_; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + @java.lang.Override + public java.util.List<? extends map.builder.protos.NodeOrBuilder> + getNodesOrBuilderList() { + return nodes_; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + @java.lang.Override + public int getNodesCount() { + return nodes_.size(); + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + @java.lang.Override + public map.builder.protos.Node getNodes(int index) { + return nodes_.get(index); + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + @java.lang.Override + public map.builder.protos.NodeOrBuilder getNodesOrBuilder( + int index) { + return nodes_.get(index); + } + + public static final int SEGMENTS_FIELD_NUMBER = 2; + private java.util.List<map.builder.protos.Segment> segments_; + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + @java.lang.Override + public java.util.List<map.builder.protos.Segment> getSegmentsList() { + return segments_; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + @java.lang.Override + public java.util.List<? extends map.builder.protos.SegmentOrBuilder> + getSegmentsOrBuilderList() { + return segments_; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + @java.lang.Override + public int getSegmentsCount() { + return segments_.size(); + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + @java.lang.Override + public map.builder.protos.Segment getSegments(int index) { + return segments_.get(index); + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + @java.lang.Override + public map.builder.protos.SegmentOrBuilder getSegmentsOrBuilder( + int index) { + return segments_.get(index); + } + + public static final int TURN_RESTRICTIONS_FIELD_NUMBER = 3; + private java.util.List<map.builder.protos.Restriction> turnRestrictions_; + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + @java.lang.Override + public java.util.List<map.builder.protos.Restriction> getTurnRestrictionsList() { + return turnRestrictions_; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + @java.lang.Override + public java.util.List<? extends map.builder.protos.RestrictionOrBuilder> + getTurnRestrictionsOrBuilderList() { + return turnRestrictions_; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + @java.lang.Override + public int getTurnRestrictionsCount() { + return turnRestrictions_.size(); + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + @java.lang.Override + public map.builder.protos.Restriction getTurnRestrictions(int index) { + return turnRestrictions_.get(index); + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + @java.lang.Override + public map.builder.protos.RestrictionOrBuilder getTurnRestrictionsOrBuilder( + int index) { + return turnRestrictions_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < nodes_.size(); i++) { + output.writeMessage(1, nodes_.get(i)); + } + for (int i = 0; i < segments_.size(); i++) { + output.writeMessage(2, segments_.get(i)); + } + for (int i = 0; i < turnRestrictions_.size(); i++) { + output.writeMessage(3, turnRestrictions_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < nodes_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, nodes_.get(i)); + } + for (int i = 0; i < segments_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(2, segments_.get(i)); + } + for (int i = 0; i < turnRestrictions_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, turnRestrictions_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof map.builder.protos.RoadNetwork)) { + return super.equals(obj); + } + map.builder.protos.RoadNetwork other = (map.builder.protos.RoadNetwork) obj; + + if (!getNodesList() + .equals(other.getNodesList())) return false; + if (!getSegmentsList() + .equals(other.getSegmentsList())) return false; + if (!getTurnRestrictionsList() + .equals(other.getTurnRestrictionsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getNodesCount() > 0) { + hash = (37 * hash) + NODES_FIELD_NUMBER; + hash = (53 * hash) + getNodesList().hashCode(); + } + if (getSegmentsCount() > 0) { + hash = (37 * hash) + SEGMENTS_FIELD_NUMBER; + hash = (53 * hash) + getSegmentsList().hashCode(); + } + if (getTurnRestrictionsCount() > 0) { + hash = (37 * hash) + TURN_RESTRICTIONS_FIELD_NUMBER; + hash = (53 * hash) + getTurnRestrictionsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static map.builder.protos.RoadNetwork parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.RoadNetwork parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.RoadNetwork parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.RoadNetwork parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.RoadNetwork parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.RoadNetwork parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.RoadNetwork parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.RoadNetwork parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.RoadNetwork parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static map.builder.protos.RoadNetwork parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.RoadNetwork parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.RoadNetwork parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(map.builder.protos.RoadNetwork prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + *Roadnetwork represents our whole roadnetwork + * </pre> + * + * Protobuf type {@code protos.RoadNetwork} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:protos.RoadNetwork) + map.builder.protos.RoadNetworkOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_RoadNetwork_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_RoadNetwork_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.RoadNetwork.class, map.builder.protos.RoadNetwork.Builder.class); + } + + // Construct using map.builder.protos.RoadNetwork.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getNodesFieldBuilder(); + getSegmentsFieldBuilder(); + getTurnRestrictionsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (nodesBuilder_ == null) { + nodes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + nodesBuilder_.clear(); + } + if (segmentsBuilder_ == null) { + segments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + } else { + segmentsBuilder_.clear(); + } + if (turnRestrictionsBuilder_ == null) { + turnRestrictions_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + } else { + turnRestrictionsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_RoadNetwork_descriptor; + } + + @java.lang.Override + public map.builder.protos.RoadNetwork getDefaultInstanceForType() { + return map.builder.protos.RoadNetwork.getDefaultInstance(); + } + + @java.lang.Override + public map.builder.protos.RoadNetwork build() { + map.builder.protos.RoadNetwork result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public map.builder.protos.RoadNetwork buildPartial() { + map.builder.protos.RoadNetwork result = new map.builder.protos.RoadNetwork(this); + int from_bitField0_ = bitField0_; + if (nodesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + nodes_ = java.util.Collections.unmodifiableList(nodes_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.nodes_ = nodes_; + } else { + result.nodes_ = nodesBuilder_.build(); + } + if (segmentsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0)) { + segments_ = java.util.Collections.unmodifiableList(segments_); + bitField0_ = (bitField0_ & ~0x00000002); + } + result.segments_ = segments_; + } else { + result.segments_ = segmentsBuilder_.build(); + } + if (turnRestrictionsBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0)) { + turnRestrictions_ = java.util.Collections.unmodifiableList(turnRestrictions_); + bitField0_ = (bitField0_ & ~0x00000004); + } + result.turnRestrictions_ = turnRestrictions_; + } else { + result.turnRestrictions_ = turnRestrictionsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof map.builder.protos.RoadNetwork) { + return mergeFrom((map.builder.protos.RoadNetwork)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(map.builder.protos.RoadNetwork other) { + if (other == map.builder.protos.RoadNetwork.getDefaultInstance()) return this; + if (nodesBuilder_ == null) { + if (!other.nodes_.isEmpty()) { + if (nodes_.isEmpty()) { + nodes_ = other.nodes_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureNodesIsMutable(); + nodes_.addAll(other.nodes_); + } + onChanged(); + } + } else { + if (!other.nodes_.isEmpty()) { + if (nodesBuilder_.isEmpty()) { + nodesBuilder_.dispose(); + nodesBuilder_ = null; + nodes_ = other.nodes_; + bitField0_ = (bitField0_ & ~0x00000001); + nodesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getNodesFieldBuilder() : null; + } else { + nodesBuilder_.addAllMessages(other.nodes_); + } + } + } + if (segmentsBuilder_ == null) { + if (!other.segments_.isEmpty()) { + if (segments_.isEmpty()) { + segments_ = other.segments_; + bitField0_ = (bitField0_ & ~0x00000002); + } else { + ensureSegmentsIsMutable(); + segments_.addAll(other.segments_); + } + onChanged(); + } + } else { + if (!other.segments_.isEmpty()) { + if (segmentsBuilder_.isEmpty()) { + segmentsBuilder_.dispose(); + segmentsBuilder_ = null; + segments_ = other.segments_; + bitField0_ = (bitField0_ & ~0x00000002); + segmentsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getSegmentsFieldBuilder() : null; + } else { + segmentsBuilder_.addAllMessages(other.segments_); + } + } + } + if (turnRestrictionsBuilder_ == null) { + if (!other.turnRestrictions_.isEmpty()) { + if (turnRestrictions_.isEmpty()) { + turnRestrictions_ = other.turnRestrictions_; + bitField0_ = (bitField0_ & ~0x00000004); + } else { + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.addAll(other.turnRestrictions_); + } + onChanged(); + } + } else { + if (!other.turnRestrictions_.isEmpty()) { + if (turnRestrictionsBuilder_.isEmpty()) { + turnRestrictionsBuilder_.dispose(); + turnRestrictionsBuilder_ = null; + turnRestrictions_ = other.turnRestrictions_; + bitField0_ = (bitField0_ & ~0x00000004); + turnRestrictionsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getTurnRestrictionsFieldBuilder() : null; + } else { + turnRestrictionsBuilder_.addAllMessages(other.turnRestrictions_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + map.builder.protos.RoadNetwork parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (map.builder.protos.RoadNetwork) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List<map.builder.protos.Node> nodes_ = + java.util.Collections.emptyList(); + private void ensureNodesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + nodes_ = new java.util.ArrayList<map.builder.protos.Node>(nodes_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Node, map.builder.protos.Node.Builder, map.builder.protos.NodeOrBuilder> nodesBuilder_; + + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public java.util.List<map.builder.protos.Node> getNodesList() { + if (nodesBuilder_ == null) { + return java.util.Collections.unmodifiableList(nodes_); + } else { + return nodesBuilder_.getMessageList(); + } + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public int getNodesCount() { + if (nodesBuilder_ == null) { + return nodes_.size(); + } else { + return nodesBuilder_.getCount(); + } + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public map.builder.protos.Node getNodes(int index) { + if (nodesBuilder_ == null) { + return nodes_.get(index); + } else { + return nodesBuilder_.getMessage(index); + } + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder setNodes( + int index, map.builder.protos.Node value) { + if (nodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureNodesIsMutable(); + nodes_.set(index, value); + onChanged(); + } else { + nodesBuilder_.setMessage(index, value); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder setNodes( + int index, map.builder.protos.Node.Builder builderForValue) { + if (nodesBuilder_ == null) { + ensureNodesIsMutable(); + nodes_.set(index, builderForValue.build()); + onChanged(); + } else { + nodesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder addNodes(map.builder.protos.Node value) { + if (nodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureNodesIsMutable(); + nodes_.add(value); + onChanged(); + } else { + nodesBuilder_.addMessage(value); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder addNodes( + int index, map.builder.protos.Node value) { + if (nodesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureNodesIsMutable(); + nodes_.add(index, value); + onChanged(); + } else { + nodesBuilder_.addMessage(index, value); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder addNodes( + map.builder.protos.Node.Builder builderForValue) { + if (nodesBuilder_ == null) { + ensureNodesIsMutable(); + nodes_.add(builderForValue.build()); + onChanged(); + } else { + nodesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder addNodes( + int index, map.builder.protos.Node.Builder builderForValue) { + if (nodesBuilder_ == null) { + ensureNodesIsMutable(); + nodes_.add(index, builderForValue.build()); + onChanged(); + } else { + nodesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder addAllNodes( + java.lang.Iterable<? extends map.builder.protos.Node> values) { + if (nodesBuilder_ == null) { + ensureNodesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, nodes_); + onChanged(); + } else { + nodesBuilder_.addAllMessages(values); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder clearNodes() { + if (nodesBuilder_ == null) { + nodes_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + nodesBuilder_.clear(); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public Builder removeNodes(int index) { + if (nodesBuilder_ == null) { + ensureNodesIsMutable(); + nodes_.remove(index); + onChanged(); + } else { + nodesBuilder_.remove(index); + } + return this; + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public map.builder.protos.Node.Builder getNodesBuilder( + int index) { + return getNodesFieldBuilder().getBuilder(index); + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public map.builder.protos.NodeOrBuilder getNodesOrBuilder( + int index) { + if (nodesBuilder_ == null) { + return nodes_.get(index); } else { + return nodesBuilder_.getMessageOrBuilder(index); + } + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public java.util.List<? extends map.builder.protos.NodeOrBuilder> + getNodesOrBuilderList() { + if (nodesBuilder_ != null) { + return nodesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(nodes_); + } + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public map.builder.protos.Node.Builder addNodesBuilder() { + return getNodesFieldBuilder().addBuilder( + map.builder.protos.Node.getDefaultInstance()); + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public map.builder.protos.Node.Builder addNodesBuilder( + int index) { + return getNodesFieldBuilder().addBuilder( + index, map.builder.protos.Node.getDefaultInstance()); + } + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + public java.util.List<map.builder.protos.Node.Builder> + getNodesBuilderList() { + return getNodesFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Node, map.builder.protos.Node.Builder, map.builder.protos.NodeOrBuilder> + getNodesFieldBuilder() { + if (nodesBuilder_ == null) { + nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Node, map.builder.protos.Node.Builder, map.builder.protos.NodeOrBuilder>( + nodes_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + nodes_ = null; + } + return nodesBuilder_; + } + + private java.util.List<map.builder.protos.Segment> segments_ = + java.util.Collections.emptyList(); + private void ensureSegmentsIsMutable() { + if (!((bitField0_ & 0x00000002) != 0)) { + segments_ = new java.util.ArrayList<map.builder.protos.Segment>(segments_); + bitField0_ |= 0x00000002; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Segment, map.builder.protos.Segment.Builder, map.builder.protos.SegmentOrBuilder> segmentsBuilder_; + + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public java.util.List<map.builder.protos.Segment> getSegmentsList() { + if (segmentsBuilder_ == null) { + return java.util.Collections.unmodifiableList(segments_); + } else { + return segmentsBuilder_.getMessageList(); + } + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public int getSegmentsCount() { + if (segmentsBuilder_ == null) { + return segments_.size(); + } else { + return segmentsBuilder_.getCount(); + } + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public map.builder.protos.Segment getSegments(int index) { + if (segmentsBuilder_ == null) { + return segments_.get(index); + } else { + return segmentsBuilder_.getMessage(index); + } + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder setSegments( + int index, map.builder.protos.Segment value) { + if (segmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentsIsMutable(); + segments_.set(index, value); + onChanged(); + } else { + segmentsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder setSegments( + int index, map.builder.protos.Segment.Builder builderForValue) { + if (segmentsBuilder_ == null) { + ensureSegmentsIsMutable(); + segments_.set(index, builderForValue.build()); + onChanged(); + } else { + segmentsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder addSegments(map.builder.protos.Segment value) { + if (segmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentsIsMutable(); + segments_.add(value); + onChanged(); + } else { + segmentsBuilder_.addMessage(value); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder addSegments( + int index, map.builder.protos.Segment value) { + if (segmentsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSegmentsIsMutable(); + segments_.add(index, value); + onChanged(); + } else { + segmentsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder addSegments( + map.builder.protos.Segment.Builder builderForValue) { + if (segmentsBuilder_ == null) { + ensureSegmentsIsMutable(); + segments_.add(builderForValue.build()); + onChanged(); + } else { + segmentsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder addSegments( + int index, map.builder.protos.Segment.Builder builderForValue) { + if (segmentsBuilder_ == null) { + ensureSegmentsIsMutable(); + segments_.add(index, builderForValue.build()); + onChanged(); + } else { + segmentsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder addAllSegments( + java.lang.Iterable<? extends map.builder.protos.Segment> values) { + if (segmentsBuilder_ == null) { + ensureSegmentsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, segments_); + onChanged(); + } else { + segmentsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder clearSegments() { + if (segmentsBuilder_ == null) { + segments_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + } else { + segmentsBuilder_.clear(); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public Builder removeSegments(int index) { + if (segmentsBuilder_ == null) { + ensureSegmentsIsMutable(); + segments_.remove(index); + onChanged(); + } else { + segmentsBuilder_.remove(index); + } + return this; + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public map.builder.protos.Segment.Builder getSegmentsBuilder( + int index) { + return getSegmentsFieldBuilder().getBuilder(index); + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public map.builder.protos.SegmentOrBuilder getSegmentsOrBuilder( + int index) { + if (segmentsBuilder_ == null) { + return segments_.get(index); } else { + return segmentsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public java.util.List<? extends map.builder.protos.SegmentOrBuilder> + getSegmentsOrBuilderList() { + if (segmentsBuilder_ != null) { + return segmentsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(segments_); + } + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public map.builder.protos.Segment.Builder addSegmentsBuilder() { + return getSegmentsFieldBuilder().addBuilder( + map.builder.protos.Segment.getDefaultInstance()); + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public map.builder.protos.Segment.Builder addSegmentsBuilder( + int index) { + return getSegmentsFieldBuilder().addBuilder( + index, map.builder.protos.Segment.getDefaultInstance()); + } + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + public java.util.List<map.builder.protos.Segment.Builder> + getSegmentsBuilderList() { + return getSegmentsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Segment, map.builder.protos.Segment.Builder, map.builder.protos.SegmentOrBuilder> + getSegmentsFieldBuilder() { + if (segmentsBuilder_ == null) { + segmentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Segment, map.builder.protos.Segment.Builder, map.builder.protos.SegmentOrBuilder>( + segments_, + ((bitField0_ & 0x00000002) != 0), + getParentForChildren(), + isClean()); + segments_ = null; + } + return segmentsBuilder_; + } + + private java.util.List<map.builder.protos.Restriction> turnRestrictions_ = + java.util.Collections.emptyList(); + private void ensureTurnRestrictionsIsMutable() { + if (!((bitField0_ & 0x00000004) != 0)) { + turnRestrictions_ = new java.util.ArrayList<map.builder.protos.Restriction>(turnRestrictions_); + bitField0_ |= 0x00000004; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Restriction, map.builder.protos.Restriction.Builder, map.builder.protos.RestrictionOrBuilder> turnRestrictionsBuilder_; + + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public java.util.List<map.builder.protos.Restriction> getTurnRestrictionsList() { + if (turnRestrictionsBuilder_ == null) { + return java.util.Collections.unmodifiableList(turnRestrictions_); + } else { + return turnRestrictionsBuilder_.getMessageList(); + } + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public int getTurnRestrictionsCount() { + if (turnRestrictionsBuilder_ == null) { + return turnRestrictions_.size(); + } else { + return turnRestrictionsBuilder_.getCount(); + } + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public map.builder.protos.Restriction getTurnRestrictions(int index) { + if (turnRestrictionsBuilder_ == null) { + return turnRestrictions_.get(index); + } else { + return turnRestrictionsBuilder_.getMessage(index); + } + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder setTurnRestrictions( + int index, map.builder.protos.Restriction value) { + if (turnRestrictionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.set(index, value); + onChanged(); + } else { + turnRestrictionsBuilder_.setMessage(index, value); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder setTurnRestrictions( + int index, map.builder.protos.Restriction.Builder builderForValue) { + if (turnRestrictionsBuilder_ == null) { + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.set(index, builderForValue.build()); + onChanged(); + } else { + turnRestrictionsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder addTurnRestrictions(map.builder.protos.Restriction value) { + if (turnRestrictionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.add(value); + onChanged(); + } else { + turnRestrictionsBuilder_.addMessage(value); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder addTurnRestrictions( + int index, map.builder.protos.Restriction value) { + if (turnRestrictionsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.add(index, value); + onChanged(); + } else { + turnRestrictionsBuilder_.addMessage(index, value); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder addTurnRestrictions( + map.builder.protos.Restriction.Builder builderForValue) { + if (turnRestrictionsBuilder_ == null) { + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.add(builderForValue.build()); + onChanged(); + } else { + turnRestrictionsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder addTurnRestrictions( + int index, map.builder.protos.Restriction.Builder builderForValue) { + if (turnRestrictionsBuilder_ == null) { + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.add(index, builderForValue.build()); + onChanged(); + } else { + turnRestrictionsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder addAllTurnRestrictions( + java.lang.Iterable<? extends map.builder.protos.Restriction> values) { + if (turnRestrictionsBuilder_ == null) { + ensureTurnRestrictionsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, turnRestrictions_); + onChanged(); + } else { + turnRestrictionsBuilder_.addAllMessages(values); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder clearTurnRestrictions() { + if (turnRestrictionsBuilder_ == null) { + turnRestrictions_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + } else { + turnRestrictionsBuilder_.clear(); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public Builder removeTurnRestrictions(int index) { + if (turnRestrictionsBuilder_ == null) { + ensureTurnRestrictionsIsMutable(); + turnRestrictions_.remove(index); + onChanged(); + } else { + turnRestrictionsBuilder_.remove(index); + } + return this; + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public map.builder.protos.Restriction.Builder getTurnRestrictionsBuilder( + int index) { + return getTurnRestrictionsFieldBuilder().getBuilder(index); + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public map.builder.protos.RestrictionOrBuilder getTurnRestrictionsOrBuilder( + int index) { + if (turnRestrictionsBuilder_ == null) { + return turnRestrictions_.get(index); } else { + return turnRestrictionsBuilder_.getMessageOrBuilder(index); + } + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public java.util.List<? extends map.builder.protos.RestrictionOrBuilder> + getTurnRestrictionsOrBuilderList() { + if (turnRestrictionsBuilder_ != null) { + return turnRestrictionsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(turnRestrictions_); + } + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public map.builder.protos.Restriction.Builder addTurnRestrictionsBuilder() { + return getTurnRestrictionsFieldBuilder().addBuilder( + map.builder.protos.Restriction.getDefaultInstance()); + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public map.builder.protos.Restriction.Builder addTurnRestrictionsBuilder( + int index) { + return getTurnRestrictionsFieldBuilder().addBuilder( + index, map.builder.protos.Restriction.getDefaultInstance()); + } + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + public java.util.List<map.builder.protos.Restriction.Builder> + getTurnRestrictionsBuilderList() { + return getTurnRestrictionsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Restriction, map.builder.protos.Restriction.Builder, map.builder.protos.RestrictionOrBuilder> + getTurnRestrictionsFieldBuilder() { + if (turnRestrictionsBuilder_ == null) { + turnRestrictionsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + map.builder.protos.Restriction, map.builder.protos.Restriction.Builder, map.builder.protos.RestrictionOrBuilder>( + turnRestrictions_, + ((bitField0_ & 0x00000004) != 0), + getParentForChildren(), + isClean()); + turnRestrictions_ = null; + } + return turnRestrictionsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:protos.RoadNetwork) + } + + // @@protoc_insertion_point(class_scope:protos.RoadNetwork) + private static final map.builder.protos.RoadNetwork DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new map.builder.protos.RoadNetwork(); + } + + public static map.builder.protos.RoadNetwork getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<RoadNetwork> + PARSER = new com.google.protobuf.AbstractParser<RoadNetwork>() { + @java.lang.Override + public RoadNetwork parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new RoadNetwork(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<RoadNetwork> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<RoadNetwork> getParserForType() { + return PARSER; + } + + @java.lang.Override + public map.builder.protos.RoadNetwork getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/RoadNetworkOrBuilder.java b/mapbuilder/src/main/java/map/builder/protos/RoadNetworkOrBuilder.java new file mode 100644 index 0000000..8d2f4ad --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/RoadNetworkOrBuilder.java @@ -0,0 +1,141 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public interface RoadNetworkOrBuilder extends + // @@protoc_insertion_point(interface_extends:protos.RoadNetwork) + com.google.protobuf.MessageOrBuilder { + + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + java.util.List<map.builder.protos.Node> + getNodesList(); + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + map.builder.protos.Node getNodes(int index); + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + int getNodesCount(); + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + java.util.List<? extends map.builder.protos.NodeOrBuilder> + getNodesOrBuilderList(); + /** + * <pre> + * Nodes are corresponding to intersections + * </pre> + * + * <code>repeated .protos.Node nodes = 1;</code> + */ + map.builder.protos.NodeOrBuilder getNodesOrBuilder( + int index); + + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + java.util.List<map.builder.protos.Segment> + getSegmentsList(); + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + map.builder.protos.Segment getSegments(int index); + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + int getSegmentsCount(); + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + java.util.List<? extends map.builder.protos.SegmentOrBuilder> + getSegmentsOrBuilderList(); + /** + * <pre> + * Segments correspond to edges in our graph + * </pre> + * + * <code>repeated .protos.Segment segments = 2;</code> + */ + map.builder.protos.SegmentOrBuilder getSegmentsOrBuilder( + int index); + + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + java.util.List<map.builder.protos.Restriction> + getTurnRestrictionsList(); + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + map.builder.protos.Restriction getTurnRestrictions(int index); + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + int getTurnRestrictionsCount(); + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + java.util.List<? extends map.builder.protos.RestrictionOrBuilder> + getTurnRestrictionsOrBuilderList(); + /** + * <pre> + * Turn restrictitons correspond to turn restrictions + * </pre> + * + * <code>repeated .protos.Restriction turn_restrictions = 3;</code> + */ + map.builder.protos.RestrictionOrBuilder getTurnRestrictionsOrBuilder( + int index); +} diff --git a/mapbuilder/src/main/java/map/builder/protos/RoadNetworkProto.java b/mapbuilder/src/main/java/map/builder/protos/RoadNetworkProto.java new file mode 100644 index 0000000..d0594dd --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/RoadNetworkProto.java @@ -0,0 +1,108 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public final class RoadNetworkProto { + private RoadNetworkProto() {} + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistryLite registry) { + } + + public static void registerAllExtensions( + com.google.protobuf.ExtensionRegistry registry) { + registerAllExtensions( + (com.google.protobuf.ExtensionRegistryLite) registry); + } + static final com.google.protobuf.Descriptors.Descriptor + internal_static_protos_RoadNetwork_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_protos_RoadNetwork_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_protos_Node_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_protos_Node_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_protos_Segment_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_protos_Segment_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_protos_Restriction_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_protos_Restriction_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_protos_Location_descriptor; + static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_protos_Location_fieldAccessorTable; + + public static com.google.protobuf.Descriptors.FileDescriptor + getDescriptor() { + return descriptor; + } + private static com.google.protobuf.Descriptors.FileDescriptor + descriptor; + static { + java.lang.String[] descriptorData = { + "\nDmapbuilder/src/main/java/map/builder/p" + + "rotos/schema/roadnetwork.proto\022\006protos\"}" + + "\n\013RoadNetwork\022\033\n\005nodes\030\001 \003(\0132\014.protos.No" + + "de\022!\n\010segments\030\002 \003(\0132\017.protos.Segment\022.\n" + + "\021turn_restrictions\030\003 \003(\0132\023.protos.Restri" + + "ction\"F\n\004Node\022\n\n\002id\030\001 \001(\r\022\016\n\006osm_id\030\002 \001(" + + "\t\022\"\n\010position\030\003 \001(\0132\020.protos.Location\"\247\001" + + "\n\007Segment\022\n\n\002id\030\001 \001(\r\022\016\n\006osm_id\030\002 \001(\t\022\"\n" + + "\010geometry\030\003 \001(\0132\020.protos.Location\022\016\n\006len" + + "gth\030\004 \001(\001\022\022\n\nstart_node\030\005 \001(\r\022\020\n\010end_nod" + + "e\030\006 \001(\r\022&\n\010category\030\007 \001(\0162\024.protos.RoadC" + + "ategory\"-\n\013Restriction\022\017\n\007from_id\030\001 \001(\r\022" + + "\r\n\005to_id\030\002 \001(\r\"$\n\010Location\022\013\n\003lat\030\001 \001(\002\022" + + "\013\n\003lon\030\002 \001(\002*\224\001\n\014RoadCategory\022\031\n\025ROAD_CA" + + "TEGORY_INVALID\020\000\022\031\n\025ROAD_CATEGORY_HIGHWA" + + "Y\020\001\022\026\n\022ROAD_CATEGORY_MAIN\020\002\022\027\n\023ROAD_CATE" + + "GORY_LOCAL\020\003\022\035\n\031ROAD_CATEGORY_RESIDENTIA" + + "L\020\004B(\n\022map.builder.protosB\020RoadNetworkPr" + + "otoP\001b\006proto3" + }; + descriptor = com.google.protobuf.Descriptors.FileDescriptor + .internalBuildGeneratedFileFrom(descriptorData, + new com.google.protobuf.Descriptors.FileDescriptor[] { + }); + internal_static_protos_RoadNetwork_descriptor = + getDescriptor().getMessageTypes().get(0); + internal_static_protos_RoadNetwork_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_protos_RoadNetwork_descriptor, + new java.lang.String[] { "Nodes", "Segments", "TurnRestrictions", }); + internal_static_protos_Node_descriptor = + getDescriptor().getMessageTypes().get(1); + internal_static_protos_Node_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_protos_Node_descriptor, + new java.lang.String[] { "Id", "OsmId", "Position", }); + internal_static_protos_Segment_descriptor = + getDescriptor().getMessageTypes().get(2); + internal_static_protos_Segment_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_protos_Segment_descriptor, + new java.lang.String[] { "Id", "OsmId", "Geometry", "Length", "StartNode", "EndNode", "Category", }); + internal_static_protos_Restriction_descriptor = + getDescriptor().getMessageTypes().get(3); + internal_static_protos_Restriction_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_protos_Restriction_descriptor, + new java.lang.String[] { "FromId", "ToId", }); + internal_static_protos_Location_descriptor = + getDescriptor().getMessageTypes().get(4); + internal_static_protos_Location_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_protos_Location_descriptor, + new java.lang.String[] { "Lat", "Lon", }); + } + + // @@protoc_insertion_point(outer_class_scope) +} diff --git a/mapbuilder/src/main/java/map/builder/protos/Segment.java b/mapbuilder/src/main/java/map/builder/protos/Segment.java new file mode 100644 index 0000000..95f27b0 --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/Segment.java @@ -0,0 +1,1275 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +/** + * <pre> + * Segment represents a directed edge in our network, which connects two nodes + * </pre> + * + * Protobuf type {@code protos.Segment} + */ +public final class Segment extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:protos.Segment) + SegmentOrBuilder { +private static final long serialVersionUID = 0L; + // Use Segment.newBuilder() to construct. + private Segment(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { + super(builder); + } + private Segment() { + osmId_ = ""; + category_ = 0; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance( + UnusedPrivateParameter unused) { + return new Segment(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private Segment( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + + id_ = input.readUInt32(); + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + osmId_ = s; + break; + } + case 26: { + map.builder.protos.Location.Builder subBuilder = null; + if (geometry_ != null) { + subBuilder = geometry_.toBuilder(); + } + geometry_ = input.readMessage(map.builder.protos.Location.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(geometry_); + geometry_ = subBuilder.buildPartial(); + } + + break; + } + case 33: { + + length_ = input.readDouble(); + break; + } + case 40: { + + startNode_ = input.readUInt32(); + break; + } + case 48: { + + endNode_ = input.readUInt32(); + break; + } + case 56: { + int rawValue = input.readEnum(); + + category_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Segment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Segment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Segment.class, map.builder.protos.Segment.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 1; + private int id_; + /** + * <pre> + * id is the internal id used in our system of a segment + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + @java.lang.Override + public int getId() { + return id_; + } + + public static final int OSM_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object osmId_; + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + @java.lang.Override + public java.lang.String getOsmId() { + java.lang.Object ref = osmId_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + osmId_ = s; + return s; + } + } + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + @java.lang.Override + public com.google.protobuf.ByteString + getOsmIdBytes() { + java.lang.Object ref = osmId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + osmId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int GEOMETRY_FIELD_NUMBER = 3; + private map.builder.protos.Location geometry_; + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return Whether the geometry field is set. + */ + @java.lang.Override + public boolean hasGeometry() { + return geometry_ != null; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return The geometry. + */ + @java.lang.Override + public map.builder.protos.Location getGeometry() { + return geometry_ == null ? map.builder.protos.Location.getDefaultInstance() : geometry_; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + @java.lang.Override + public map.builder.protos.LocationOrBuilder getGeometryOrBuilder() { + return getGeometry(); + } + + public static final int LENGTH_FIELD_NUMBER = 4; + private double length_; + /** + * <pre> + * length of the segment in meters + * </pre> + * + * <code>double length = 4;</code> + * @return The length. + */ + @java.lang.Override + public double getLength() { + return length_; + } + + public static final int START_NODE_FIELD_NUMBER = 5; + private int startNode_; + /** + * <pre> + * start_node is the start endpoint of the segment + * </pre> + * + * <code>uint32 start_node = 5;</code> + * @return The startNode. + */ + @java.lang.Override + public int getStartNode() { + return startNode_; + } + + public static final int END_NODE_FIELD_NUMBER = 6; + private int endNode_; + /** + * <pre> + * end_node is the end endpoint of the segment + * </pre> + * + * <code>uint32 end_node = 6;</code> + * @return The endNode. + */ + @java.lang.Override + public int getEndNode() { + return endNode_; + } + + public static final int CATEGORY_FIELD_NUMBER = 7; + private int category_; + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The enum numeric value on the wire for category. + */ + @java.lang.Override public int getCategoryValue() { + return category_; + } + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The category. + */ + @java.lang.Override public map.builder.protos.RoadCategory getCategory() { + @SuppressWarnings("deprecation") + map.builder.protos.RoadCategory result = map.builder.protos.RoadCategory.valueOf(category_); + return result == null ? map.builder.protos.RoadCategory.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (id_ != 0) { + output.writeUInt32(1, id_); + } + if (!getOsmIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, osmId_); + } + if (geometry_ != null) { + output.writeMessage(3, getGeometry()); + } + if (length_ != 0D) { + output.writeDouble(4, length_); + } + if (startNode_ != 0) { + output.writeUInt32(5, startNode_); + } + if (endNode_ != 0) { + output.writeUInt32(6, endNode_); + } + if (category_ != map.builder.protos.RoadCategory.ROAD_CATEGORY_INVALID.getNumber()) { + output.writeEnum(7, category_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (id_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(1, id_); + } + if (!getOsmIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, osmId_); + } + if (geometry_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(3, getGeometry()); + } + if (length_ != 0D) { + size += com.google.protobuf.CodedOutputStream + .computeDoubleSize(4, length_); + } + if (startNode_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(5, startNode_); + } + if (endNode_ != 0) { + size += com.google.protobuf.CodedOutputStream + .computeUInt32Size(6, endNode_); + } + if (category_ != map.builder.protos.RoadCategory.ROAD_CATEGORY_INVALID.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(7, category_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof map.builder.protos.Segment)) { + return super.equals(obj); + } + map.builder.protos.Segment other = (map.builder.protos.Segment) obj; + + if (getId() + != other.getId()) return false; + if (!getOsmId() + .equals(other.getOsmId())) return false; + if (hasGeometry() != other.hasGeometry()) return false; + if (hasGeometry()) { + if (!getGeometry() + .equals(other.getGeometry())) return false; + } + if (java.lang.Double.doubleToLongBits(getLength()) + != java.lang.Double.doubleToLongBits( + other.getLength())) return false; + if (getStartNode() + != other.getStartNode()) return false; + if (getEndNode() + != other.getEndNode()) return false; + if (category_ != other.category_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getId(); + hash = (37 * hash) + OSM_ID_FIELD_NUMBER; + hash = (53 * hash) + getOsmId().hashCode(); + if (hasGeometry()) { + hash = (37 * hash) + GEOMETRY_FIELD_NUMBER; + hash = (53 * hash) + getGeometry().hashCode(); + } + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashLong( + java.lang.Double.doubleToLongBits(getLength())); + hash = (37 * hash) + START_NODE_FIELD_NUMBER; + hash = (53 * hash) + getStartNode(); + hash = (37 * hash) + END_NODE_FIELD_NUMBER; + hash = (53 * hash) + getEndNode(); + hash = (37 * hash) + CATEGORY_FIELD_NUMBER; + hash = (53 * hash) + category_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static map.builder.protos.Segment parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Segment parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Segment parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Segment parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Segment parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static map.builder.protos.Segment parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static map.builder.protos.Segment parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Segment parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Segment parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static map.builder.protos.Segment parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static map.builder.protos.Segment parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static map.builder.protos.Segment parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(map.builder.protos.Segment prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * <pre> + * Segment represents a directed edge in our network, which connects two nodes + * </pre> + * + * Protobuf type {@code protos.Segment} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements + // @@protoc_insertion_point(builder_implements:protos.Segment) + map.builder.protos.SegmentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Segment_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Segment_fieldAccessorTable + .ensureFieldAccessorsInitialized( + map.builder.protos.Segment.class, map.builder.protos.Segment.Builder.class); + } + + // Construct using map.builder.protos.Segment.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + id_ = 0; + + osmId_ = ""; + + if (geometryBuilder_ == null) { + geometry_ = null; + } else { + geometry_ = null; + geometryBuilder_ = null; + } + length_ = 0D; + + startNode_ = 0; + + endNode_ = 0; + + category_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return map.builder.protos.RoadNetworkProto.internal_static_protos_Segment_descriptor; + } + + @java.lang.Override + public map.builder.protos.Segment getDefaultInstanceForType() { + return map.builder.protos.Segment.getDefaultInstance(); + } + + @java.lang.Override + public map.builder.protos.Segment build() { + map.builder.protos.Segment result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public map.builder.protos.Segment buildPartial() { + map.builder.protos.Segment result = new map.builder.protos.Segment(this); + result.id_ = id_; + result.osmId_ = osmId_; + if (geometryBuilder_ == null) { + result.geometry_ = geometry_; + } else { + result.geometry_ = geometryBuilder_.build(); + } + result.length_ = length_; + result.startNode_ = startNode_; + result.endNode_ = endNode_; + result.category_ = category_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof map.builder.protos.Segment) { + return mergeFrom((map.builder.protos.Segment)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(map.builder.protos.Segment other) { + if (other == map.builder.protos.Segment.getDefaultInstance()) return this; + if (other.getId() != 0) { + setId(other.getId()); + } + if (!other.getOsmId().isEmpty()) { + osmId_ = other.osmId_; + onChanged(); + } + if (other.hasGeometry()) { + mergeGeometry(other.getGeometry()); + } + if (other.getLength() != 0D) { + setLength(other.getLength()); + } + if (other.getStartNode() != 0) { + setStartNode(other.getStartNode()); + } + if (other.getEndNode() != 0) { + setEndNode(other.getEndNode()); + } + if (other.category_ != 0) { + setCategoryValue(other.getCategoryValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + map.builder.protos.Segment parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (map.builder.protos.Segment) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int id_ ; + /** + * <pre> + * id is the internal id used in our system of a segment + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + @java.lang.Override + public int getId() { + return id_; + } + /** + * <pre> + * id is the internal id used in our system of a segment + * </pre> + * + * <code>uint32 id = 1;</code> + * @param value The id to set. + * @return This builder for chaining. + */ + public Builder setId(int value) { + + id_ = value; + onChanged(); + return this; + } + /** + * <pre> + * id is the internal id used in our system of a segment + * </pre> + * + * <code>uint32 id = 1;</code> + * @return This builder for chaining. + */ + public Builder clearId() { + + id_ = 0; + onChanged(); + return this; + } + + private java.lang.Object osmId_ = ""; + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + public java.lang.String getOsmId() { + java.lang.Object ref = osmId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + osmId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + public com.google.protobuf.ByteString + getOsmIdBytes() { + java.lang.Object ref = osmId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + osmId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @param value The osmId to set. + * @return This builder for chaining. + */ + public Builder setOsmId( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + osmId_ = value; + onChanged(); + return this; + } + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return This builder for chaining. + */ + public Builder clearOsmId() { + + osmId_ = getDefaultInstance().getOsmId(); + onChanged(); + return this; + } + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @param value The bytes for osmId to set. + * @return This builder for chaining. + */ + public Builder setOsmIdBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + osmId_ = value; + onChanged(); + return this; + } + + private map.builder.protos.Location geometry_; + private com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder> geometryBuilder_; + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return Whether the geometry field is set. + */ + public boolean hasGeometry() { + return geometryBuilder_ != null || geometry_ != null; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return The geometry. + */ + public map.builder.protos.Location getGeometry() { + if (geometryBuilder_ == null) { + return geometry_ == null ? map.builder.protos.Location.getDefaultInstance() : geometry_; + } else { + return geometryBuilder_.getMessage(); + } + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public Builder setGeometry(map.builder.protos.Location value) { + if (geometryBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + geometry_ = value; + onChanged(); + } else { + geometryBuilder_.setMessage(value); + } + + return this; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public Builder setGeometry( + map.builder.protos.Location.Builder builderForValue) { + if (geometryBuilder_ == null) { + geometry_ = builderForValue.build(); + onChanged(); + } else { + geometryBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public Builder mergeGeometry(map.builder.protos.Location value) { + if (geometryBuilder_ == null) { + if (geometry_ != null) { + geometry_ = + map.builder.protos.Location.newBuilder(geometry_).mergeFrom(value).buildPartial(); + } else { + geometry_ = value; + } + onChanged(); + } else { + geometryBuilder_.mergeFrom(value); + } + + return this; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public Builder clearGeometry() { + if (geometryBuilder_ == null) { + geometry_ = null; + onChanged(); + } else { + geometry_ = null; + geometryBuilder_ = null; + } + + return this; + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public map.builder.protos.Location.Builder getGeometryBuilder() { + + onChanged(); + return getGeometryFieldBuilder().getBuilder(); + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + public map.builder.protos.LocationOrBuilder getGeometryOrBuilder() { + if (geometryBuilder_ != null) { + return geometryBuilder_.getMessageOrBuilder(); + } else { + return geometry_ == null ? + map.builder.protos.Location.getDefaultInstance() : geometry_; + } + } + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + private com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder> + getGeometryFieldBuilder() { + if (geometryBuilder_ == null) { + geometryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + map.builder.protos.Location, map.builder.protos.Location.Builder, map.builder.protos.LocationOrBuilder>( + getGeometry(), + getParentForChildren(), + isClean()); + geometry_ = null; + } + return geometryBuilder_; + } + + private double length_ ; + /** + * <pre> + * length of the segment in meters + * </pre> + * + * <code>double length = 4;</code> + * @return The length. + */ + @java.lang.Override + public double getLength() { + return length_; + } + /** + * <pre> + * length of the segment in meters + * </pre> + * + * <code>double length = 4;</code> + * @param value The length to set. + * @return This builder for chaining. + */ + public Builder setLength(double value) { + + length_ = value; + onChanged(); + return this; + } + /** + * <pre> + * length of the segment in meters + * </pre> + * + * <code>double length = 4;</code> + * @return This builder for chaining. + */ + public Builder clearLength() { + + length_ = 0D; + onChanged(); + return this; + } + + private int startNode_ ; + /** + * <pre> + * start_node is the start endpoint of the segment + * </pre> + * + * <code>uint32 start_node = 5;</code> + * @return The startNode. + */ + @java.lang.Override + public int getStartNode() { + return startNode_; + } + /** + * <pre> + * start_node is the start endpoint of the segment + * </pre> + * + * <code>uint32 start_node = 5;</code> + * @param value The startNode to set. + * @return This builder for chaining. + */ + public Builder setStartNode(int value) { + + startNode_ = value; + onChanged(); + return this; + } + /** + * <pre> + * start_node is the start endpoint of the segment + * </pre> + * + * <code>uint32 start_node = 5;</code> + * @return This builder for chaining. + */ + public Builder clearStartNode() { + + startNode_ = 0; + onChanged(); + return this; + } + + private int endNode_ ; + /** + * <pre> + * end_node is the end endpoint of the segment + * </pre> + * + * <code>uint32 end_node = 6;</code> + * @return The endNode. + */ + @java.lang.Override + public int getEndNode() { + return endNode_; + } + /** + * <pre> + * end_node is the end endpoint of the segment + * </pre> + * + * <code>uint32 end_node = 6;</code> + * @param value The endNode to set. + * @return This builder for chaining. + */ + public Builder setEndNode(int value) { + + endNode_ = value; + onChanged(); + return this; + } + /** + * <pre> + * end_node is the end endpoint of the segment + * </pre> + * + * <code>uint32 end_node = 6;</code> + * @return This builder for chaining. + */ + public Builder clearEndNode() { + + endNode_ = 0; + onChanged(); + return this; + } + + private int category_ = 0; + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The enum numeric value on the wire for category. + */ + @java.lang.Override public int getCategoryValue() { + return category_; + } + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @param value The enum numeric value on the wire for category to set. + * @return This builder for chaining. + */ + public Builder setCategoryValue(int value) { + + category_ = value; + onChanged(); + return this; + } + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The category. + */ + @java.lang.Override + public map.builder.protos.RoadCategory getCategory() { + @SuppressWarnings("deprecation") + map.builder.protos.RoadCategory result = map.builder.protos.RoadCategory.valueOf(category_); + return result == null ? map.builder.protos.RoadCategory.UNRECOGNIZED : result; + } + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @param value The category to set. + * @return This builder for chaining. + */ + public Builder setCategory(map.builder.protos.RoadCategory value) { + if (value == null) { + throw new NullPointerException(); + } + + category_ = value.getNumber(); + onChanged(); + return this; + } + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return This builder for chaining. + */ + public Builder clearCategory() { + + category_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:protos.Segment) + } + + // @@protoc_insertion_point(class_scope:protos.Segment) + private static final map.builder.protos.Segment DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new map.builder.protos.Segment(); + } + + public static map.builder.protos.Segment getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser<Segment> + PARSER = new com.google.protobuf.AbstractParser<Segment>() { + @java.lang.Override + public Segment parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new Segment(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser<Segment> parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser<Segment> getParserForType() { + return PARSER; + } + + @java.lang.Override + public map.builder.protos.Segment getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + +} + diff --git a/mapbuilder/src/main/java/map/builder/protos/SegmentOrBuilder.java b/mapbuilder/src/main/java/map/builder/protos/SegmentOrBuilder.java new file mode 100644 index 0000000..48e5c84 --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/SegmentOrBuilder.java @@ -0,0 +1,115 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto + +package map.builder.protos; + +public interface SegmentOrBuilder extends + // @@protoc_insertion_point(interface_extends:protos.Segment) + com.google.protobuf.MessageOrBuilder { + + /** + * <pre> + * id is the internal id used in our system of a segment + * </pre> + * + * <code>uint32 id = 1;</code> + * @return The id. + */ + int getId(); + + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The osmId. + */ + java.lang.String getOsmId(); + /** + * <pre> + * osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + * </pre> + * + * <code>string osm_id = 2;</code> + * @return The bytes for osmId. + */ + com.google.protobuf.ByteString + getOsmIdBytes(); + + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return Whether the geometry field is set. + */ + boolean hasGeometry(); + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + * @return The geometry. + */ + map.builder.protos.Location getGeometry(); + /** + * <pre> + * geometry represents the linestring representing the segment + * </pre> + * + * <code>.protos.Location geometry = 3;</code> + */ + map.builder.protos.LocationOrBuilder getGeometryOrBuilder(); + + /** + * <pre> + * length of the segment in meters + * </pre> + * + * <code>double length = 4;</code> + * @return The length. + */ + double getLength(); + + /** + * <pre> + * start_node is the start endpoint of the segment + * </pre> + * + * <code>uint32 start_node = 5;</code> + * @return The startNode. + */ + int getStartNode(); + + /** + * <pre> + * end_node is the end endpoint of the segment + * </pre> + * + * <code>uint32 end_node = 6;</code> + * @return The endNode. + */ + int getEndNode(); + + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The enum numeric value on the wire for category. + */ + int getCategoryValue(); + /** + * <pre> + * category of the road according to OSM main road types + * </pre> + * + * <code>.protos.RoadCategory category = 7;</code> + * @return The category. + */ + map.builder.protos.RoadCategory getCategory(); +} diff --git a/mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto b/mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto new file mode 100644 index 0000000..ea31ac7 --- /dev/null +++ b/mapbuilder/src/main/java/map/builder/protos/schema/roadnetwork.proto @@ -0,0 +1,75 @@ +syntax = "proto3"; + +package protos; + +option java_multiple_files = true; +option java_package = "map.builder.protos"; +option java_outer_classname = "RoadNetworkProto"; + +//Roadnetwork represents our whole roadnetwork +message RoadNetwork { + // Nodes are corresponding to intersections + repeated Node nodes = 1; + // Segments correspond to edges in our graph + repeated Segment segments = 2; + // Turn restrictitons correspond to turn restrictions + repeated Restriction turn_restrictions = 3; +} + +// Nodes represent usually intersections in our network. +message Node { + // Internally used ids of our segments + uint32 id = 1; + // Vendor IDs of OSM data, used for referencing the original data + string osm_id = 2; + // Coordinaes of the intersection + Location position = 3; +} + +// Segment represents a directed edge in our network, which connects two nodes +message Segment { + // id is the internal id used in our system of a segment + uint32 id = 1; + // osm_id is the id of the segment, in the original OSM data, if it exists as a separate segment there + string osm_id = 2; + // geometry represents the linestring representing the segment + Location geometry = 3; + // length of the segment in meters + double length = 4; + // start_node is the start endpoint of the segment + uint32 start_node = 5; + // end_node is the end endpoint of the segment + uint32 end_node = 6; + // category of the road according to OSM main road types + RoadCategory category = 7; +} + +// RoadCategory groups road segments into several classes +enum RoadCategory { + // a special value to indicate that the field is not set + ROAD_CATEGORY_INVALID = 0; + // represents motorway and trunks, according to the specification of OSM's data + ROAD_CATEGORY_HIGHWAY = 1; + // often link larger towns + ROAD_CATEGORY_MAIN = 2; + // represents a road within a city or connecting small towns + ROAD_CATEGORY_LOCAL = 3; + // represents a vehicular access to small streets connecting roads with apartments, buildings + ROAD_CATEGORY_RESIDENTIAL=4; +} + +// A restricted turn from one segment to another, which are adjacent to each other +message Restriction { + // from_id is the id of the segment from which the turn originates + uint32 from_id = 1; + // to_id is the id of the segment in which the turn ends + uint32 to_id = 2; +} + +// A location is geographical point. The coordinate system used is WGS 84 +message Location { + // lat corresponds to the latitude of the point + float lat = 1; + // lon corresponds to the longitude of the point + float lon = 2; +} \ No newline at end of file diff --git a/mapbuilder/src/test/java/map/builder/AppTest.java b/mapbuilder/src/test/java/map/builder/AppTest.java new file mode 100644 index 0000000..edfc04f --- /dev/null +++ b/mapbuilder/src/test/java/map/builder/AppTest.java @@ -0,0 +1,20 @@ +package map.builder; + +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +/** + * Unit test for simple App. + */ +public class AppTest +{ + /** + * Rigorous Test :-) + */ + @Test + public void shouldAnswerWithTrue() + { + assertTrue( true ); + } +} -- GitLab