diff --git a/get-additional-data/get_additional_data.sh b/get-additional-data/get_additional_data.sh index 18f42a9..b459d7b 100644 --- a/get-additional-data/get_additional_data.sh +++ b/get-additional-data/get_additional_data.sh @@ -2,7 +2,7 @@ set -e mkdir -p /additional-data -curl --fail --verbose --retry 5 --retry-delay 30 -o /additional-data/grid.zip "https://tiedostopalvelu.maanmittauslaitos.fi/geoserver/karttalehti/ows?service=wfs&request=GetFeature&typeName=Grid&outputFormat=shape-zip&cql_filter=gridSize=%2712x12%27" +#curl --fail --verbose --retry 5 --retry-delay 30 -o /additional-data/grid.zip "https://tiedostopalvelu.maanmittauslaitos.fi/geoserver/karttalehti/ows?service=wfs&request=GetFeature&typeName=Grid&outputFormat=shape-zip&cql_filter=gridSize=%2712x12%27" curl --fail --verbose --retry 5 --retry-delay 30 -o /additional-data/finland-latest.osm.pbf "http://download.geofabrik.de/europe/finland-latest.osm.pbf" ogr2ogr --config OGR_WFS_PAGE_SIZE 4000 --debug on -nln syvyyskayra_v -f "ESRI shapefile" /additional-data/syvyyskayra_v.shp WFS:https://julkinen.traficom.fi/inspirepalvelu/rajoitettu/wfs?typeName=rajoitettu:DepthContour_L ogr2ogr --config OGR_WFS_PAGE_SIZE 4000 --debug on -nln syvyyspiste_p -f "ESRI shapefile" /additional-data/syvyyspiste_p.shp WFS:https://julkinen.traficom.fi/inspirepalvelu/rajoitettu/wfs?typeName=rajoitettu:Sounding_P @@ -16,4 +16,4 @@ ogrinfo -so /additional-data/syvyyskayra_v.shp syvyyskayra_v #ogrinfo -so /additional-data/kesaretkeilyreitit.gml kesaretkeilyreitit #ogrinfo -so /additional-data/ulkoilureitit.gml ulkoilureitit #ogrinfo -so /additional-data/luontopolut.gml luontopolut -#ogrinfo -so /additional-data/point_dump.gml point_dump \ No newline at end of file +#ogrinfo -so /additional-data/point_dump.gml point_dump diff --git a/mapcreator/convert_docker.sh b/mapcreator/convert_docker.sh index ea1b06c..351cb08 100755 --- a/mapcreator/convert_docker.sh +++ b/mapcreator/convert_docker.sh @@ -3,9 +3,13 @@ set -euxo pipefail printf -v date '%(%Y%m%d)T' -1 +if test -f ".env"; then + echo "sourcing .env" + source .env +fi + docker-compose down -v -docker pull quay.io/azavea/openjdk-gdal:3.1-jdk11-slim docker build --tag teemupel/mtk2garmin-ubuntugis-base -f ./ubuntugis-base/Dockerfile ./ubuntugis-base docker push teemupel/mtk2garmin-ubuntugis-base @@ -20,31 +24,44 @@ fi docker-compose pull -time docker-compose run mml-client /go/src/app/mml-muutostietopalvelu-client load -p maastotietokanta -t kaikki -f application/gml+xml -d /mtkdata -time docker-compose run mml-client /go/src/app/mml-muutostietopalvelu-client load -p kiinteistorekisterikartta -t karttalehdittain -f application/x-shapefile -d /krkdata +zmaasto="" +zkorkeus="" + +if test -f "/opt/mtkdata/mtkmaasto.zip"; then + zmaasto="-z /opt/mtkdata/mtkmaasto.zip" +fi +if test -f "/opt/mtkdata/mtkkorkeus.zip"; then + zkorkeus="-z /opt/mtkdata/mtkkorkeus.zip" +fi + +time curl "$zmaasto" -o /opt/mtkdata/mtkmaasto.zip "https://tiedostopalvelu.maanmittauslaitos.fi/tp/tilauslataus/tuotteet/maastotietokanta/geopackage_maasto/mtkmaasto.zip?api_key=$MTK_API_KEY" +time curl "$zkorkeus" -o /opt/mtkdata/mtkkorkeus.zip "https://tiedostopalvelu.maanmittauslaitos.fi/tp/tilauslataus/tuotteet/maastotietokanta/geopackage_korkeus/mtkkorkeus.zip?api_key=$MTK_API_KEY" +time 7z e /opt/mtkdata/mtkmaasto.zip -o/opt/mtkdata/ +time 7z e /opt/mtkdata/mtkkorkeus.zip -o/opt/mtkdata/ +time docker-compose run mml-client /go/src/app/mml-muutostietopalvelu-client load -p kiinteistorekisterikartta -t karttalehdittain -f application/x-shapefile -d /krkdata docker-compose up --no-start additional-data docker-compose up --no-start mapstyles -time docker-compose run mtk2garmin-converter java -jar /opt/mtk2garmin/target/mtk2garmin-0.0.2.jar /opt/mtk2garmin/mtk2garmin.conf +time docker-compose run mtk2garmin-converter java -jar /opt/mtk2garmin/target/mtk2garmin-0.5.jar /opt/mtk2garmin/mtk2garmin.conf + time docker-compose run merger ./merge_files.sh time docker-compose run mkgmap ./run_mkgmap.sh time docker-compose run mapsforge /app/bin/osmosis \ - --rbf file=/convertedpbf/all_osm.osm.pbf workers=2 \ - --mapfile-writer file=/output/mtk_all.map bbox=59.4507573,19.0714057,70.1120744,31.6133108 \ - simplification-max-zoom=12 simplification-factor=16 threads=4 \ - zoom-interval-conf=5,4,7,8,8,11,12,12,13,14,14,21 \ - label-position=true polylabel=true \ - tag-conf-file=/mapstyles/mapsforge_peruskartta/mml_tag-mapping_tidy.xml type=hd comment="(c) NLS, Metsahallitus, Liikennevirasto, OpenStreetMap contributors 2019" - + --rbf file=/convertedpbf/all_osm.osm.pbf workers=2 \ + --mapfile-writer file=/output/mtk_all.map bbox=59.4507573,19.0714057,70.1120744,31.6133108 \ + simplification-max-zoom=12 simplification-factor=16 threads=4 \ + zoom-interval-conf=5,4,7,8,8,11,12,12,13,14,14,21 \ + label-position=true polylabel=true \ + tag-conf-file=/mapstyles/mapsforge_peruskartta/mml_tag-mapping_tidy.xml type=hd comment="(c) NLS, Metsahallitus, Liikennevirasto, OpenStreetMap contributors 2019" time docker-compose run osxconverter time docker-compose run nsis /output/mtkgarmin/osmmap.nsi time docker-compose run nsis /output/mtkgarmin_noparcel/osmmap.nsi -time docker-compose run site +#time docker-compose run site docker-compose down -v diff --git a/mapcreator/kohdeluokka_map.csv b/mapcreator/kohdeluokka_map.csv new file mode 100644 index 0000000..314aa1e --- /dev/null +++ b/mapcreator/kohdeluokka_map.csv @@ -0,0 +1,352 @@ +table;kohdeluokka;count;styles;todo +aidansymboli;9325;3;; +paikannimi;12101;23;; +tienroteksti;12106;30;; +tieviiva;12111;7040;; +tieviiva;12112;20896;; +tieviiva;12121;73579;; +tieviiva;12122;181023;; +tieviiva;12131;477022;; +tieviiva;12132;233078;; +tieviiva;12141;1433076;; +tieviiva;12151;439;; +tieviiva;12152;73;; +tienroteksti;12181;10631;; +tienroteksti;12182;7714;; +tienroteksti;12183;2856;; +tiesymboli;12192;91;; +tiesymboli;12193;61;; +tiesymboli;12200;45321;; +paikannimi;12301;1200;; +selite;12302;1940;; +tieviiva;12311;1;; +tieviiva;12312;68307;; +tieviiva;12313;338055;; +tieviiva;12314;226845;; +tieviiva;12316;640174;; +rautatie;14111;10941;; +rautatie;14112;7046;; +rautatie;14121;78;; +rautatie;14131;294;; +rautatiensymboli;14191;2814;; +rautatiensymboli;14192;150;; +rautatieliikennepaikka;14200;547;; +paikannimi;14201;511;; +paikannimi;16101;49;; +selite;16102;133;; +turvalaite;16120;171;; +turvalaite;16121;2433;; +turvalaite;16122;41;; +turvalaite;16124;6;; +turvalaite;16125;8;; +turvalaite;16126;51;; +turvalaite;16127;3;; +turvalaite;16141;844;; +turvalaite;16142;883;; +turvalaite;16143;205;; +turvalaite;16144;209;; +turvalaite;16145;259;; +turvalaite;16146;250;; +turvalaite;16147;5;; +turvalaite;16148;89;; +turvalaite;16149;6;; +turvalaite;16151;2;; +turvalaite;16152;6;; +turvalaite;16156;1;; +turvalaite;16161;5;; +turvalaite;16162;5;; +turvalaite;16169;1;; +turvalaite;16191;3;; +turvalaite;16211;1;; +turvalaite;16214;1;; +vesikulkuvaylanteksti;16503;3144;; +vesikulkuvaylanteksti;16504;2647;; +vesikulkuvaylankulkusuunta;16505;451;; +vesikulkuvaylankulkusuunta;16506;17;; +vesikulkuvaylankulkusuunta;16507;6;; +vesikulkuvaylanteksti;16508;378;; +vesikulkuvayla;16511;7602;; +vesikulkuvayla;16512;2822;; +vesikulkuvayla;16521;35;; +vesikulkuvayla;16522;103;; +ankkuripaikka;16600;207;; +hylynsyvyys;16703;14;; +hylky;16712;32;; +hylky;16721;28;; +hylky;16722;17;; +muuntaja;22100;79775;; +muuntoasema;22200;3830;; +sahkolinja;22311;48418;; +sahkolinja;22312;128004;; +suurjannitelinjanpylvas;22392;86797;; +sahkolinjansymboli;22394;18832;; +sahkolinjansymboli;22395;100176;; +maastokuvionreuna;30100;11436;; +maasto2kuvionreuna;30211;159465;; +maastokuvionreuna;30211;8923630;; +maasto2kuvionreuna;30212;346779;; +maastokuvionreuna;30212;1043465;; +pato;30300;1825;; +sulkuportti;30400;138;; +maastokuvionreuna;30900;14147;; +maasto2kuvionreuna;30999;2608;; +maastokuvionreuna;30999;41892;; +suojelualueenreunaviiva;30999;174;; +paikannimi;32101;10;; +selite;32102;1945;; +maaaineksenottoalue;32111;13419;; +maaaineksenottoalue;32112;226;; +maaaineksenottoalue;32113;2728;; +karttasymboli;32191;12573;; +karttasymboli;32192;34;; +hautausmaa;32200;1367;; +paikannimi;32201;24;; +selite;32202;73;; +karttasymboli;32291;2000;; +kaatopaikka;32300;86;; +paikannimi;32301;6;; +selite;32302;84;; +paikannimi;32401;197;; +selite;32402;170;; +lentokenttaalue;32411;88;; +lentokenttaalue;32412;24;; +lentokenttaalue;32415;33;; +lentokenttaalue;32416;415;; +lentokenttaalue;32417;213;; +lentokenttaalue;32418;34;; +autoliikennealue;32421;13397;; +louhos;32500;1468;; +paikannimi;32501;19;; +selite;32502;123;; +karttasymboli;32591;1539;; +selite;32602;35;; +maatalousmaa;32611;427588;; +maatalousmaa;32612;3685;; +metsamaankasvillisuus;32710;1581236;; +metsamaankasvillisuus;32713;265425;; +metsamaankasvillisuus;32714;155922;; +metsamaankasvillisuus;32715;68286;; +metsamaankasvillisuus;32719;4182;; +metsamaanmuokkaus;32721;1000;; +niitty;32800;71593;; +karttasymboli;32891;77723;; +puisto;32900;3527;; +paikannimi;32901;14;; +selite;32902;21;; +taytemaa;33000;1565;; +paikannimi;33001;2;; +selite;33002;25;; +karttasymboli;33091;1627;; +urheilujavirkistysalue;33100;14369;; +paikannimi;33101;70;; +selite;33102;7172;; +kallioalue;34100;1345129;; +kalliosymboli;34100;1530523;; +harvalouhikko;34200;1576916;; +hietikko;34300;14001;; +jyrkanne;34400;206624;; +kalliohalkeama;34500;31;; +kivi;34600;496949;; +paikannimi;34601;1346;; +kivikko;34700;168459;; +luiska;34800;89750;; +merkittavaluontokohde;34900;156;; +paikannimi;34901;33;; +selite;34902;483;; +paikannimi;35010;34673;; +paikannimi;35020;67055;; +paikannimi;35030;68947;; +paikannimi;35040;97288;; +paikannimi;35050;3520;; +paikannimi;35060;39220;; +paikannimi;35070;57320;; +paikannimi;35080;1836;; +paikannimi;35090;12372;; +puu;35100;1836;; +paikannimi;35101;49;; +selite;35102;16;; +puurivi;35200;3670;; +soistuma;35300;643218;; +suo;35411;281341;; +suo;35412;991156;; +suo;35421;94572;; +suo;35422;3424;; +suojanne;35500;3986;; +lahde;36100;34406;; +paikannimi;36101;319;; +jarvi;36200;157233;; +paikannimi;36201;64125;; +meri;36211;1154;; +vedenpinnankorkeusluku;36291;117522;; +paikannimi;36301;33728;; +virtavesikapea;36311;16354857;; +virtavesikapea;36312;619326;; +virtavesialue;36313;20197;; +virtausnuoli;36391;3;; +virtausnuoli;36392;181503;; +virtausnuoli;36393;13832;; +vesikuoppa;36400;124560;; +paikannimi;36410;45541;; +paikannimi;36420;6231;; +paikannimi;36490;134;; +selite;36500;640;; +kaislikko;38100;87459;; +koski;38200;15423;; +paikannimi;38201;4044;; +maatuvavesialue;38300;12295;; +tulvaalue;38400;3001;; +paikannimi;38501;905;; +vesikivi;38511;140493;; +vesikivi;38512;136415;; +vesikivi;38513;263698;; +vesikivikko;38600;32547;; +matalikko;38700;19996;; +uittolaite;38800;2321;; +varastoalue;38900;7426;; +paikannimi;38901;3;; +selite;38902;34;; +karttasymboli;38991;7609;; +uittoranni;39000;36;; +muuavoinalue;39110;182261;; +muuavoinalue;39120;10588;; +muuavoinalue;39130;4051;; +metsanraja;39500;258;; +selite;39502;123;; +taajaanrakennetunalueenreuna;40100;5700;; +taajaanrakennettualue;40200;5359;; +paikannimi;42101;1317;; +selite;42102;19711;; +rakennusreunaviiva;42110;46;; +rakennusreunaviiva;42111;1322575;; +rakennusreunaviiva;42112;41567;; +rakennusreunaviiva;42120;29;; +rakennusreunaviiva;42121;86471;; +rakennusreunaviiva;42122;4827;; +rakennusreunaviiva;42130;71;; +rakennusreunaviiva;42131;516862;; +rakennusreunaviiva;42132;154;; +rakennusreunaviiva;42140;318;; +rakennusreunaviiva;42141;36440;; +rakennusreunaviiva;42142;995;; +rakennusreunaviiva;42150;5;; +rakennusreunaviiva;42151;1302;; +rakennusreunaviiva;42152;18;; +rakennusreunaviiva;42160;12088;; +rakennusreunaviiva;42161;3466548;; +rakennusreunaviiva;42162;1102;; +rakennusreunaviiva;42170;826;; +rakennusreunaviiva;42200;77659;; +paikannimi;42201;52;; +selite;42202;341;; +rakennus;42210;22;; +rakennus;42211;1334446;; +rakennus;42212;45529;; +rakennus;42220;28;; +rakennus;42221;91251;; +rakennus;42222;6976;; +rakennus;42230;44;; +rakennus;42231;517159;; +rakennus;42232;152;; +rakennus;42240;344;; +rakennus;42241;38377;; +rakennus;42242;1326;; +rakennus;42250;5;; +rakennus;42251;1346;; +rakennus;42252;28;; +rakennus;42260;11962;; +rakennus;42261;3482687;; +rakennus;42262;1205;; +rakennus;42270;846;; +aallonmurtaja;44100;512;; +selite;44202;493;; +aita;44211;25283;; +aita;44213;1479;; +allas;44300;53425;; +rakennusreunaviiva;44300;57258;; +paikannimi;44301;27;; +selite;44302;100;; +selite;44402;7;; +ilmarata;44500;1909;; +ilmaradankannatinpylvas;44591;2272;; +kellotapuli;44600;375;; +lahestymisvalo;44700;1217;; +masto;44800;8167;; +mastonkorkeus;44803;6834;; +muistomerkki;44900;2752;; +paikannimi;44901;46;; +selite;44902;81;; +nakotorni;45000;1142;; +selite;45002;838;; +pistolaituriviiva;45111;23976;; +pistolaituriviiva;45112;708;; +portti;45200;6462;; +savupiippu;45300;1319;; +savupiipunkorkeus;45303;520;; +tervahauta;45400;21287;; +selite;45402;16876;; +tuulivoimala;45500;1270;; +selite;45502;193;; +rakennelma;45700;50106;; +selite;45702;221;; +tulentekopaikka;45710;1795;; +vesitorni;45800;362;; +selite;45802;265;; +paikannimi;48111;156;; +paikannimi;48112;249;; +paikannimi;48120;26855;; +paikannimi;48130;243077;; +paikannimi;48190;29;; +ampumaalue;62100;297;; +selite;62102;99;; +suojaalue;62200;18;; +suojaalueenreunaviiva;62200;19;; +selite;62202;99;; +suojelualueenreunaviiva;72000;44174;; +luonnonsuojelualue;72200;19838;; +luonnonpuisto;72201;20;; +paikannimi;72201;134;; +kansallispuisto;72202;3409;; +selite;72202;16836;; +paikannimi;72303;98;; +selite;72304;2390;; +rauhoitettukohde;72310;163;; +rauhoitettukohde;72320;2007;; +rauhoitettukohde;72330;9285;; +rauhoitettukohde;72340;194;; +paikannimi;72403;48;; +selite;72404;5822;; +suojelualueenreunaviiva;72420;1;; +suojelualueenreunaviiva;72440;7;; +suojametsanreunaviiva;72500;1181;; +selite;72501;101;; +paikannimi;72502;52;; +paikannimi;72601;324;; +selite;72603;981;; +selite;72604;1;; +suojelualueenreunaviiva;72700;1822;; +paikannimi;72701;233;; +retkeilyalue;72800;13;; +paikannimi;72801;23;; +suojelualueenreunaviiva;74330;76;; +aluemerenulkoraja;82100;67;; +selite;82102;53;; +rajavyohykkeentakaraja;82200;725;; +selite;82202;174;; +sisaistenaluevesienulkoraja;82300;190;; +selite;82302;225;; +ulkojasisasaaristonraja;82400;101;; +selite;82402;164;; +valtakunnanrajapyykki;82500;1558;; +paikannimi;82501;3;; +kunnanhallintoraja;84111;31;; +kunnanhallintoraja;84112;120;; +kunnanhallintoraja;84113;928;; +kunnanhallintoraja;84115;154;; +kunnanhallintokeskus;84302;94;; +kunnanhallintokeskus;84303;217;; +selite;85100;4;; +paikannimi;92401;13;; +vesiasteikko;95300;668;; +selite;95302;616;; +osoitepiste;96001;25700;; +osoitepiste;96002;900;; diff --git a/mapcreator/map_gpkg_kohdeluokka.py b/mapcreator/map_gpkg_kohdeluokka.py new file mode 100644 index 0000000..89e40cd --- /dev/null +++ b/mapcreator/map_gpkg_kohdeluokka.py @@ -0,0 +1,21 @@ +import sqlite3 +import sys +import csv + +con = sqlite3.connect(f'file:{sys.argv[1]}?mode=ro', uri=True) + +cur = con.cursor() +cur.execute("select table_name from gpkg_contents where data_type = 'features'") +feature_tables = cur.fetchall() + +with open('kohdeluokka_map.csv', 'w+', newline='') as csvfile: + writer = csv.writer(csvfile, delimiter=';') + for (lname,) in feature_tables: + print(lname, end=" ") + cur.execute(f'SELECT kohdeluokka,COUNT(*) FROM {lname} GROUP BY kohdeluokka') + classes = cur.fetchall() + tot = 0 + for cid, cnum in classes: + writer.writerow((lname, cid, cnum)) + tot += cnum + print(tot) diff --git a/mapcreator/merge/merge_files.sh b/mapcreator/merge/merge_files.sh index 3cdf7f3..988c648 100644 --- a/mapcreator/merge/merge_files.sh +++ b/mapcreator/merge/merge_files.sh @@ -1,13 +1,7 @@ #!/bin/bash set -euxo pipefail -python3 merge_suomi.py - -chmod +x merge_all5.sh -time parallel --eta --progress -a merge_all1.sh -time parallel --eta --progress -a merge_all2.sh -time parallel --eta --progress -a merge_all3.sh -time parallel --eta --progress -a merge_all4.sh -time ./merge_all5.sh - -time ./process_osm.sh \ No newline at end of file +python3 merge_suomi.py +chmod +x merge_all.sh +time ./merge_all.sh || true +time ./process_osm.sh diff --git a/mapcreator/merge/merge_suomi.py b/mapcreator/merge/merge_suomi.py index 49b6604..6a9ecce 100644 --- a/mapcreator/merge/merge_suomi.py +++ b/mapcreator/merge/merge_suomi.py @@ -1,15 +1,20 @@ import os +import sys -basepath = '/convertedpbf' -infiles = [fn for fn in os.listdir(basepath) if len( - fn) == 14 and fn.endswith('.osm.pbf')] +basepath = '/opt/mtk2garmin-build/convertedpbf' +infiles = sorted([fn for fn in os.listdir(basepath) if fn.endswith('.osm.pbf') and not fn.endswith("_chunk.osm.pbf") and not fn.startswith('all')]) print(len(infiles), 'files') -def getGroups(files, glen): +def chunks(lst, n): + """Yield successive n-sized chunks from lst.""" + for i in range(0, len(lst), n): + yield lst[i:i + n] + +def getGroups(files): groups = {} for fn in files: - gn = fn[:glen] + gn = fn.split('_')[0] if not gn in groups: groups[gn] = [] @@ -18,7 +23,7 @@ def getGroups(files, glen): return groups -def createCommandList(filelist, k): +def createCommandList(filelist, target_file): cmd = [] for i, fn in enumerate(filelist): if i == 0: @@ -27,72 +32,42 @@ def createCommandList(filelist, k): ocmd = './osmconvert - %s' % os.path.join(basepath, fn) if i == len(filelist) - 1: - ocmd += ' -o=%s' % os.path.join(basepath, '%s.osm.pbf' % k) + ocmd += ' -o=%s' % os.path.join(basepath, target_file) else: ocmd += ' --out-o5m' cmd.append(ocmd) return cmd +batch_size = 10 -g1 = getGroups(infiles, 4) -# print g1.keys() -g2 = getGroups(g1.keys(), 3) -# pprint.pprint(g2) -g3 = getGroups(g2.keys(), 2) -g4 = getGroups(g3.keys(), 1) -# pprint.pprint(g3) -open('merge_all1.sh', 'w+').close() -open('merge_all2.sh', 'w+').close() -open('merge_all3.sh', 'w+').close() -open('merge_all4.sh', 'w+').close() -open('merge_all5.sh', 'w+').close() -for k4 in g4: - print('####') - for k3 in (k for k in g3 if k.startswith(k4)): - print('###') - for k2 in (k for k in g2 if k.startswith(k3)): - print('##') - for k1 in (k for k in g1 if k.startswith(k2)): - print('#') - # print 'g1',g1[k1],'->',k1 - cmd1 = createCommandList(g1[k1], k1) - print('1', cmd1) - f = open('merge_all1.sh', 'a+') - f.write('|'.join(cmd1)) - # f.write('; ') - # f.write('rm -f %s' % ' '.join((os.path.join(basepath,f) for f in g1[k1]))) - f.write('\n') - f.close() - cmd2 = createCommandList(['%s.osm.pbf' % fn for fn in g2[k2]], k2) - print('2', cmd2) - f = open('merge_all2.sh', 'a+') - f.write('|'.join(cmd2)) - # f.write('; ') - # f.write('rm -f %s' % ' '.join((os.path.join(basepath,'%s.osm.pbf' % f) for f in g2[k2]))) - f.write('\n') - f.close() - cmd3 = createCommandList(['%s.osm.pbf' % fn for fn in g3[k3]], k3) - print('3', cmd3) - f = open('merge_all3.sh', 'a+') - f.write('|'.join(cmd3)) - # f.write('; ') - # f.write('rm -f %s' % ' '.join((os.path.join(basepath,'%s.osm.pbf' % f) for f in g3[k3]))) - f.write('\n') +f = open('merge_all.sh', 'w+') +f.write('''#!/bin/bash +set -x + +''') - f.close() +for fn in infiles: + f.write('./osmconvert %s --out-statistics\n' % os.path.join(basepath, fn)) - cmd4 = createCommandList(['%s.osm.pbf' % fn for fn in g4[k4]], k4) - print('4', cmd4) - f = open('merge_all4.sh', 'a+') - f.write('|'.join(cmd4)) +f.write(''' + +''') +cid = 0 +while len(infiles) > batch_size: + chunked_files = chunks(infiles, batch_size) + ninfiles = [] + for cf in chunked_files: + target_file = '%d_chunk.osm.pbf' % cid + cmds = createCommandList(cf,target_file) + f.write('|'.join(cmds)) + f.write('\n') + ninfiles.append(target_file) + cid += 1 + infiles = ninfiles f.write('\n') - f.close() -f = open('merge_all5.sh', 'a+') -g5 = getGroups(g4.keys(), 0) -print(g5) -f.write('|'.join(createCommandList( - ['%s.osm.pbf' % fn for fn in g5['']], 'all'))) +cmds = createCommandList(infiles,"all.osm.pbf") +f.write('|'.join(cmds)) +f.write('\n') f.close() -# pprint.pprint(g4) diff --git a/mapcreator/mtk2garmin.conf b/mapcreator/mtk2garmin.conf index 0a14158..0d0c3c7 100644 --- a/mapcreator/mtk2garmin.conf +++ b/mapcreator/mtk2garmin.conf @@ -1,7 +1,42 @@ -grid="/vsizip//additional-data/grid.zip/Grid.shp" -maastotietokanta="/mtkdata/tuotteet/maastotietokanta/kaikki/etrs89/gml" -kiinteistorajat="/krkdata/tuotteet/kiinteistorekisterikartta/avoin/karttalehdittain/tm35fin/shp" -output=/convertedpbf -syvyyskayrat="/additional-data/syvyyskayra_v.shp" -syvyyspisteet="/additional-data/syvyyspiste_p.shp" -retkikartta="/additional-data" +input = [ + { + key = "mtkkorkeus" + path = "/mtkdata/mtkkorkeus.gpkg" + layers = ["korkeuskayra","syvyyskayra","syvyyspiste"] + wantedFields = ["kohdeluokka", "korkeusarvo", "syvyysarvo"] + attributeFilter = "" + }, + { + key = "mtkmaasto" + path = "/mtkdata/mtkmaasto.gpkg" + layers = ["paikannimi","aita","allas","aluemerenulkoraja","ampumaalue","ankkuripaikka","autoliikennealue","harvalouhikko","hautausmaa","hietikko","hylky","ilmaradankannatinpylvas","ilmarata","jarvi","jyrkanne","kaatopaikka","kaislikko","kallioalue","kalliohalkeama","kansallispuisto","karttasymboli","kellotapuli","kivi","kivikko","koski","kunnanhallintoraja","lahde","lahestymisvalo","lentokenttaalue","louhos","luiska","luonnonpuisto","luonnonsuojelualue","maaaineksenottoalue","maatalousmaa","maatuvavesialue","masto","meri","merkittavaluontokohde","metsamaankasvillisuus","muistomerkki","muuavoinalue","muuntaja","nakotorni","niitty","paikannimi","pato","pistolaituriviiva","portti","puisto","puu","rajavyohykkeentakaraja","rakennelma","rakennus","rauhoitettukohde","rautatie","retkeilyalue","sahkolinja","savupiippu","sisaistenaluevesienulkoraja","soistuma","sulkuportti","suo","suojelualueenreunaviiva","suurjannitelinjanpylvas","taytemaa","tervahauta","tiesymboli","tieviiva","tulentekopaikka","tulvaalue","turvalaite","tuulivoimala","uittolaite","urheilujavirkistysalue","valtakunnanrajapyykki","varastoalue","vesikivi","vesikivikko","vesikulkuvayla","vesikuoppa","vesitorni","virtavesialue","virtavesikapea"] + wantedFields = ["nimi_ruotsi", "nimi_suomi", "kohdeluokka", "yksisuuntaisuus", "tienumero", "korkeusarvo", "tasosijainti", "syvyysarvo", "valmiusaste", "paallyste", "teksti", "teksti_kieli"] + attributeFilter = "" + }, + { + key = "krk" + path = "/krkdata/tuotteet/kiinteistorekisterikartta/avoin/karttalehdittain/tm35fin/shp" + recursivePath = true + layerMatch = "_kiinteistoraja" + layers = [] + wantedFields = [] + attributeFilter = "" + }, + { + key = "syvyyskayrat" + path = "/additional-data/syvyyskayra_v.shp" + layers = ["syvyyskayra_v"] + wantedFields = ["VALDCO"] + attributeFilter = "" + }, + { + key = "syvyyspisteet" + path = "/additional-data/syvyyspiste_p.shp" + layers = ["syvyyspiste_p"] + wantedFields = ["DEPTH"] + attributeFilter = "" + } +] +output="/convertedpbf" +globalNodeIds=false +bboxFilter=[] diff --git a/mapcreator/ubuntugis-base/Dockerfile b/mapcreator/ubuntugis-base/Dockerfile index 0d81266..4b0a538 100644 --- a/mapcreator/ubuntugis-base/Dockerfile +++ b/mapcreator/ubuntugis-base/Dockerfile @@ -1,9 +1,9 @@ -FROM quay.io/azavea/openjdk-gdal:3.1-jdk11-slim +FROM osgeo/gdal:ubuntu-full-3.4.2 RUN apt update && apt install -y curl -RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - && \ +RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \ apt update && \ apt install -y git p7zip-full nodejs default-jdk maven&& \ npm install -g svgo &&\ - apt clean \ No newline at end of file + apt clean diff --git a/mtk2garmin-converter/mtk2garmin.dev.conf b/mtk2garmin-converter/mtk2garmin.dev.conf index 6b98ef3..01d9b85 100644 --- a/mtk2garmin-converter/mtk2garmin.dev.conf +++ b/mtk2garmin-converter/mtk2garmin.dev.conf @@ -1,8 +1,42 @@ -grid="/vsizip/C:/dev/inputdata/grid.zip/Grid.shp" -maastotietokanta="C:/dev/mtkdata/tuotteet/maastotietokanta/kaikki/etrs89/gml" -kiinteistorajat="C:/dev/krkdata/tuotteet/kiinteistorekisterikartta/avoin/karttalehdittain/tm35fin/shp" +input = [ + { + key = "mtkkorkeus" + path = "C:/dev/mtkkorkeus.gpkg" + layers = ["korkeuskayra","syvyyskayra","syvyyspiste"] + wantedFields = ["kohdeluokka", "korkeusarvo", "syvyysarvo"] + attributeFilter = "" + }, + { + key = "mtkmaasto" + path = "C:/dev/mtkmaasto.gpkg" + layers = ["paikannimi","aita","allas","aluemerenulkoraja","ampumaalue","ankkuripaikka","autoliikennealue","harvalouhikko","hautausmaa","hietikko","hylky","ilmaradankannatinpylvas","ilmarata","jarvi","jyrkanne","kaatopaikka","kaislikko","kallioalue","kalliohalkeama","kansallispuisto","karttasymboli","kellotapuli","kivi","kivikko","koski","kunnanhallintoraja","lahde","lahestymisvalo","lentokenttaalue","louhos","luiska","luonnonpuisto","luonnonsuojelualue","maaaineksenottoalue","maatalousmaa","maatuvavesialue","masto","meri","merkittavaluontokohde","metsamaankasvillisuus","muistomerkki","muuavoinalue","muuntaja","nakotorni","niitty","paikannimi","pato","pistolaituriviiva","portti","puisto","puu","rajavyohykkeentakaraja","rakennelma","rakennus","rauhoitettukohde","rautatie","retkeilyalue","sahkolinja","savupiippu","sisaistenaluevesienulkoraja","soistuma","sulkuportti","suo","suojelualueenreunaviiva","suurjannitelinjanpylvas","taytemaa","tervahauta","tiesymboli","tieviiva","tulentekopaikka","tulvaalue","turvalaite","tuulivoimala","uittolaite","urheilujavirkistysalue","valtakunnanrajapyykki","varastoalue","vesikivi","vesikivikko","vesikulkuvayla","vesikuoppa","vesitorni","virtavesialue","virtavesikapea"] + wantedFields = ["nimi_ruotsi", "nimi_suomi", "kohdeluokka", "yksisuuntaisuus", "tienumero", "korkeusarvo", "tasosijainti", "syvyysarvo", "valmiusaste", "paallyste", "teksti", "teksti_kieli"] + attributeFilter = "" + }, + { + key = "krk" + path = "C:/dev/krkdata/tuotteet/kiinteistorekisterikartta/avoin/karttalehdittain/tm35fin/shp" + recursivePath = true + layerMatch = "_kiinteistoraja" + layers = [] + wantedFields = [] + attributeFilter = "" + }, + { + key = "syvyyskayrat" + path = "C:/dev/inputdata/syvyyskayra_v.shp" + layers = ["syvyyskayra_v"] + wantedFields = ["VALDCO"] + attributeFilter = "" + }, + { + key = "syvyyspisteet" + path = "C:/dev/inputdata/syvyyspiste_p.shp" + layers = ["syvyyspiste_p"] + wantedFields = ["DEPTH"] + attributeFilter = "" + } +] output="C:/dev/suomi" -syvyyskayrat="C:/dev/inputdata/syvyyskayra_v.shp" -syvyyspisteet="C:/dev/inputdata/syvyyspiste_p.shp" -retkikartta="C:/dev/inputdata" -areaFilter="L4" \ No newline at end of file +globalNodeIds=false +bboxFilter=[] diff --git a/mtk2garmin-converter/mtk2garmin.dr.conf b/mtk2garmin-converter/mtk2garmin.dr.conf new file mode 100644 index 0000000..899a113 --- /dev/null +++ b/mtk2garmin-converter/mtk2garmin.dr.conf @@ -0,0 +1,13 @@ +input = [ + { + key = "digiroad" + path = "C:/dev/KokoSuomi_Digiroad_K_GeoPackage.gpkg" + layers = ["DR_LINKKI_K","DR_ESTERAKENNELMA"] + wantedFields = ["TOIMINN_LK", "TIENUMERO", "TIENIMI_SU", "AJOSUUNTA","EST_TYYPPI","ARVO"] + attributeFilter = "" + } +] +output="C:/dev/suomi" +bboxFilter=[386155.055,6841166.130,493360.305,6956180.157] +globalNodeIds=true +#bboxFilter=[] diff --git a/mtk2garmin-converter/pom.xml b/mtk2garmin-converter/pom.xml index 8d9839e..689d671 100644 --- a/mtk2garmin-converter/pom.xml +++ b/mtk2garmin-converter/pom.xml @@ -3,13 +3,11 @@ 4.0.0 org.hylly mtk2garmin - 0.0.2 + 0.5 mtk2garmin - http://maven.apache.org + https://github.com/pailakka/mtk2garmin UTF-8 - 1.11 - 1.11 @@ -23,40 +21,50 @@ https://repo.maven.apache.org/maven2 default - - oskari_org - Oskari.org release repository - http://oskari.org/nexus/content/repositories/releases/ - com.typesafe config - 1.4.1 + 1.4.2 org.gdal gdal - 3.1.0 + 3.4.0 com.google.protobuf protobuf-java - 3.15.6 + 3.19.4 it.unimi.dsi fastutil - 8.5.4 + 8.5.8 commons-io commons-io - 2.8.0 + 2.11.0 + + + org.apache.commons + commons-lang3 + 3.12.0 + + + + org.apache.commons + commons-collections4 + 4.4 + + + org.mapdb + mapdb + 3.0.8 - @@ -64,7 +72,7 @@ org.apache.maven.plugins maven-shade-plugin - 3.2.1 + 3.3.0 package @@ -72,6 +80,16 @@ shade + + + *:* + + META-INF/*.SF + META-INF/*.DSA + META-INF/*.RSA + + + @@ -85,6 +103,7 @@ org.apache.maven.plugins maven-compiler-plugin + 3.10.1 11 11 diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/CachedAdditionalDataSources.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/CachedAdditionalDataSources.java deleted file mode 100644 index 9a6426e..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/CachedAdditionalDataSources.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.hylly.mtk2garmin; - -import org.gdal.ogr.*; -import com.typesafe.config.Config; - -import java.util.logging.Logger; -import java.util.stream.Stream; - -class CachedAdditionalDataSources { - private Logger logger = Logger.getLogger(CachedAdditionalDataSources.class.getName()); - private final Driver memoryd; - - private final DataSource syvyyskayrat; - private final DataSource syvyyspisteet; - - CachedAdditionalDataSources(Config conf) { - this.memoryd = ogr.GetDriverByName("memory"); - - syvyyskayrat = createMemoryCacheFromOGRFile(conf.getString("syvyyskayrat")); - syvyyspisteet = createMemoryCacheFromOGRFile(conf.getString("syvyyspisteet")); - } - - - private DataSource createMemoryCacheFromOGRFile(String fn) { - logger.info("Copying " + fn + " to in memory cache"); - - DataSource ds = ogr.Open(fn, false); - if (ds == null) { - logger.severe("Reading file " + fn + " failed"); - System.exit(1); - } - - DataSource mds = memoryd.CopyDataSource(ds, "mem_" + ds.GetLayer(0).GetName()); - - ds.delete(); - logger.info(fn + " copied to cache. " + mds.GetLayerCount() + " layers"); - return mds; - } - - Stream getDatasources() { - return Stream.of( - syvyyskayrat, - syvyyspisteet - ); - } -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeatureIDProvider.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeatureIDProvider.java index b9b87db..f3cd3e0 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeatureIDProvider.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeatureIDProvider.java @@ -3,9 +3,9 @@ import java.util.concurrent.atomic.AtomicLong; class FeatureIDProvider { - private AtomicLong nodeIDCounter = new AtomicLong(10000000000L); - private AtomicLong wayIDCounter = new AtomicLong(10000000000L); - private AtomicLong relationIDCounter = new AtomicLong(10000000000L); + private final AtomicLong nodeIDCounter = new AtomicLong(10000000000L); + private final AtomicLong wayIDCounter = new AtomicLong(10000000000L); + private final AtomicLong relationIDCounter = new AtomicLong(10000000000L); long getNodeID() { return nodeIDCounter.getAndIncrement(); diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeaturePreprocessI.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeaturePreprocessI.java deleted file mode 100644 index ebf102c..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/FeaturePreprocessI.java +++ /dev/null @@ -1,5 +0,0 @@ -package org.hylly.mtk2garmin; - -interface FeaturePreprocessI { - String getAttributeFilterString(); -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Field.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Field.java index 178a98d..be75383 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Field.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Field.java @@ -1,26 +1,26 @@ package org.hylly.mtk2garmin; class Field { - private final String fname; - private final int fieldType; - private final int fieldIndex; + private final String fname; + private final int fieldType; + private final int fieldIndex; - Field(String fname, int fieldType, int fieldIndex) { - this.fname = fname; - this.fieldType = fieldType; - this.fieldIndex = fieldIndex; - } + Field(String fname, int fieldType, int fieldIndex) { + this.fname = fname; + this.fieldType = fieldType; + this.fieldIndex = fieldIndex; + } - String getFieldName() { - return this.fname; - } + String getFieldName() { + return this.fname; + } - int getFieldType() { - return this.fieldType; - } + int getFieldType() { + return this.fieldType; + } - int getFieldIndex() { - return fieldIndex; - } + int getFieldIndex() { + return fieldIndex; + } } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GenericTagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GenericTagHandler.java new file mode 100644 index 0000000..d1def2c --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GenericTagHandler.java @@ -0,0 +1,20 @@ +package org.hylly.mtk2garmin; + +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + +import java.util.Map; + +public class GenericTagHandler implements TagHandler { + + public GenericTagHandler() { + + } + + @Override + public void addElementTags(Map tags, Object2ObjectOpenHashMap fields, String tyyppi, double geomarea) { + fields.forEach((String kk, String val) -> { + tags.put(kk, val); + }); + + } +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GeomUtils.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GeomUtils.java index f377f85..811d544 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GeomUtils.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/GeomUtils.java @@ -15,7 +15,7 @@ class GeomUtils { private final SpatialReference wgs84ref = new SpatialReference(); - private Map coordinateTransformationCache = new HashMap<>(); + private final Map coordinateTransformationCache = new HashMap<>(); GeomUtils() { this.wgs84ref.SetWellKnownGeogCS("WGS84"); diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/InitializedDatasource.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/InitializedDatasource.java deleted file mode 100644 index 819abc7..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/InitializedDatasource.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.hylly.mtk2garmin; - -import org.gdal.ogr.DataSource; - -class InitializedDatasource { - DataSource ds; - - public InitializedDatasource(DataSource ds) { - this.ds = ds; - } -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLFeaturePreprocess.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLFeaturePreprocess.java deleted file mode 100644 index bfddc8c..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLFeaturePreprocess.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.hylly.mtk2garmin; - -class MMLFeaturePreprocess implements FeaturePreprocessI { - public String getAttributeFilterString() { - return "kohdeluokka NOT IN (30211,30212,42200,42111,42112,42110,42151,42152,42111,42112,42110,42151,42152,42150,42121,42122,42120,42131,42132,42130,42161,42162,42160,42200,42141,42142,42140)"; - } - -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLTagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLTagHandler.java deleted file mode 100644 index e6380af..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MMLTagHandler.java +++ /dev/null @@ -1,120 +0,0 @@ -package org.hylly.mtk2garmin; - -import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; -import it.unimi.dsi.fastutil.shorts.Short2ObjectMap.Entry; -import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; - -import java.util.Objects; - -import static java.util.Arrays.asList; - - -class MMLTagHandler implements TagHandlerI { - private final ObjectOpenHashSet wantedFields; - - private final short korarvo, syvarvo, nimisuomi, nimiruotsi, teksti, teksti_kieli, kohdeluokka; - private final short tienro; - private final short tasosij; - private final short bridge; - private final short tunnel; - private final short yes; - - private final short ele, name, ref, fin; - - private final StringTable stringtable; - - - MMLTagHandler(StringTable stringtable) { - wantedFields = new ObjectOpenHashSet<>(asList("nimi_ruotsi", "nimi_suomi", "kohdeluokka", "yksisuuntaisuus", "tienumero", "korkeusarvo", "tasosijainti", "syvyysarvo", "valmiusaste", "paallyste", "teksti", "teksti_kieli")); - - kohdeluokka = stringtable.getStringId("kohdeluokka"); - korarvo = stringtable.getStringId("korkeusarvo"); - syvarvo = stringtable.getStringId("syvyysarvo"); - nimisuomi = stringtable.getStringId("nimi_suomi"); - nimiruotsi = stringtable.getStringId("nimi_ruotsi"); - teksti = stringtable.getStringId("teksti"); - teksti_kieli = stringtable.getStringId("teksti_kieli"); - tienro = stringtable.getStringId("tienumero"); - tasosij = stringtable.getStringId("tasosijainti"); - bridge = stringtable.getStringId("bridge"); - tunnel = stringtable.getStringId("tunnel"); - yes = stringtable.getStringId("yes"); - - ele = stringtable.getStringId("ele"); - name = stringtable.getStringId("name"); - ref = stringtable.getStringId("ref"); - fin = stringtable.getStringId("fin"); - - this.stringtable = stringtable; - - } - - @Override - public ObjectOpenHashSet getWantedFields() { - return this.wantedFields; - } - - @Override - public void addElementTags(Short2ShortRBTreeMap tags, Short2ObjectOpenHashMap fields, String tyyppi, double geomarea) { - if (tags.get(teksti_kieli) == fin && !Objects.equals(fields.get(teksti_kieli), "fin")) { - return; - } - - for (Entry k : fields.short2ObjectEntrySet()) { - - short kk = k.getShortKey(); - String val = k.getValue(); - - if (val.length() == 0) { - continue; - } - if (kk == korarvo || kk == syvarvo) { - Double korarvo = Integer.parseInt(val) / 1000.0; - kk = ele; - val = String.format("%.1f", korarvo); - } - - if (kk == nimisuomi || kk == teksti) { - kk = name; - } - - if (kk == nimiruotsi) { - if (!tags.containsKey(name)) { - kk = name; - } else { - continue; - } - } - - if (kk == tienro) { - int tienroVal = Integer.parseInt(val); - if (tienroVal > 9999) { - continue; - } - kk = ref; - } - - if (kk == tasosij) { - int sijval = Integer.parseInt(val); - if (sijval > 0) { - tags.put(bridge, yes); - } else if (sijval < 0) { - tags.put(tunnel, yes); - } - } - - tags.put(kk, this.stringtable.getStringId(val)); - } - - if (tyyppi.equals("selite") && "Tuulivoimala".equals(fields.get(teksti))) { - tags.put(kohdeluokka, this.stringtable.getStringId("45500")); - } - - if (tyyppi.equals("sahkolinja")) { - tags.remove(bridge); - } - - } - -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKTagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKTagHandler.java new file mode 100644 index 0000000..311b17c --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKTagHandler.java @@ -0,0 +1,91 @@ +package org.hylly.mtk2garmin; + +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + +import java.util.Map; +import java.util.Objects; + + +class MTKTagHandler implements TagHandler { + private final String kohdeluokka = "kohdeluokka"; + private final String korarvo = "korkeusarvo"; + private final String syvarvo = "syvyysarvo"; + private final String nimisuomi = "nimi_suomi"; + private final String nimiruotsi = "nimi_ruotsi"; + private final String teksti = "teksti"; + private final String teksti_kieli = "teksti_kieli"; + private final String tienro = "tienumero"; + private final String tasosij = "tasosijainti"; + private final String bridge = "bridge"; + private final String tunnel = "tunnel"; + private final String yes = "yes"; + + private final String ele = "ele"; + private final String name = "name"; + private final String ref = "ref"; + private final String fin = "fin"; + + + MTKTagHandler() { + } + + @Override + public void addElementTags(Map tags, Object2ObjectOpenHashMap fields, String tyyppi, double geomarea) { + if (tags.containsKey(teksti_kieli) && tags.get(teksti_kieli) == fin && !Objects.equals(fields.get(teksti_kieli), "fin")) { + return; + } + + fields.forEach((String kk, String val) -> { + + if (val.length() == 0) { + return; + } + if (Objects.equals(kk, korarvo) || Objects.equals(kk, syvarvo)) { + Double korarvo = Integer.parseInt(val) / 1000.0; + kk = ele; + val = String.format("%.1f", korarvo); + } + + if (Objects.equals(kk, nimisuomi) || Objects.equals(kk, teksti)) { + kk = name; + } + + if (Objects.equals(kk, nimiruotsi)) { + if (!tags.containsKey(name)) { + kk = name; + } else { + return; + } + } + + if (Objects.equals(kk, tienro)) { + int tienroVal = Integer.parseInt(val); + if (tienroVal > 9999) { + return; + } + kk = ref; + } + + if (Objects.equals(kk, tasosij)) { + int sijval = Integer.parseInt(val); + if (sijval > 0) { + tags.put(bridge, yes); + } else if (sijval < 0) { + tags.put(tunnel, yes); + } + } + + tags.put(kk, val); + }); + + if (tyyppi.equals("selite") && "Tuulivoimala".equals(fields.get(teksti))) { + tags.put(kohdeluokka, "45500"); + } + + if (tyyppi.equals("sahkolinja")) { + tags.remove(bridge); + } + + } + +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKToGarminConverter.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKToGarminConverter.java index 74cb3a4..2f6c90d 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKToGarminConverter.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MTKToGarminConverter.java @@ -2,173 +2,64 @@ import com.typesafe.config.Config; import com.typesafe.config.ConfigFactory; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.filefilter.DirectoryFileFilter; -import org.apache.commons.io.filefilter.RegexFileFilter; -import org.gdal.ogr.*; +import org.gdal.ogr.ogr; +import org.mapdb.HTreeMap; -import java.io.*; +import java.io.File; +import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; -import java.util.*; +import java.util.List; +import java.util.Locale; import java.util.logging.Logger; -import java.util.stream.Collector; -import java.util.stream.Collectors; -import java.util.stream.Stream; class MTKToGarminConverter { - private Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); - - private final HashMap gridExtents = new HashMap<>(); - private final NodeCache nodeCache; - - private final FeatureIDProvider featureIDProvider = new FeatureIDProvider(); - + private final Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); private final Config conf; - private MMLFeaturePreprocess featurePreprocessMML; - private ShapeFeaturePreprocess shapePreprocessor; - private final GeomUtils geomUtils; - private CachedAdditionalDataSources cachedDatasources; - + MTKToGarminConverter(File configFile) { + conf = readConfigFile(configFile); + initializeOGR(); + } void doConvert() { - File mtkDirectory = new File(conf.getString("maastotietokanta")); - if (!mtkDirectory.exists()) { - throw new IllegalArgumentException("Maastotietokanta directory does not exists"); - } + Path outDir = getOutDir(); + if (outDir == null) return; - Stream files = getMTKCellFiles(mtkDirectory); + List inputSources = conf.getConfigList("input"); + List bboxFilter = conf.getDoubleList("bboxFilter"); - Map> areas = files.collect(Collectors.groupingBy( - file -> file.getName().substring(0, 4), - Collectors.toList() - )); + HTreeMap nodeIDs = null; + NodeIDMapBuilder nodeIDMapBuilder = new NodeIDMapBuilder(); + if (conf.getBoolean("globalNodeIds")) { + logger.info("Using global node IDs"); + nodeIDs = nodeIDMapBuilder.getNodeIDMap("global"); + } + HTreeMap finalNodeIDs = nodeIDs; + inputSources.stream() + .map(input -> new OGRSourceConverter(finalNodeIDs, outDir, bboxFilter, input.getString("key"), input)) + .forEach(OGRSourceConverter::convert); - Path outdir = Paths.get(conf.getString("output")); + if (nodeIDs != null) { + nodeIDMapBuilder.closeNodeIDMap(); + } + } - if (!Files.exists(outdir)) { + private Path getOutDir() { + Path outDir = Paths.get(conf.getString("output")); + + if (!Files.exists(outDir)) { try { - Files.createDirectories(outdir); + Files.createDirectories(outDir); } catch (IOException e) { e.printStackTrace(); - return; + return null; } } - - Collector gridExtentCollector = Collector.of( - () -> new double[4], - (areabbox, cellbbox) -> { - areabbox[0] = areabbox[0] < 0.1 ? cellbbox[0] : Math.min(areabbox[0], cellbbox[0]); - areabbox[1] = areabbox[1] < 0.1 ? cellbbox[1] : Math.max(areabbox[1], cellbbox[1]); - areabbox[2] = areabbox[2] < 0.1 ? cellbbox[2] : Math.min(areabbox[2], cellbbox[2]); - areabbox[3] = areabbox[3] < 0.1 ? cellbbox[3] : Math.max(areabbox[3], cellbbox[3]); - }, - geomUtils::extendExtent - ); - - Map grid2448 = gridExtents - .entrySet() - .parallelStream() - .collect(Collectors.groupingBy( - entry -> entry.getKey().substring(0, 4), - Collectors.mapping(Map.Entry::getValue, gridExtentCollector) - - )); - - Map> areaRelations = getRelatedAreas(grid2448, areas); - logger.info("Area relations resolved"); - - initializeCachedDatasources(); - - String areaFilter = conf.hasPath("areaFilter") ? conf.getString("areaFilter") : null; - - areas - .entrySet() - .stream() - .sorted(Comparator.comparing(Map.Entry::getKey)) - .filter(e -> grid2448.containsKey(e.getKey())) - .filter(e -> areaFilter == null || e.getKey().startsWith(areaFilter)) - .filter(e -> !e.getKey().startsWith("J")) - .forEach(areaEntry -> { - String areaKey = areaEntry.getKey(); - List areaCells = areaEntry.getValue(); - double[] areaBBox = grid2448.get(areaKey); - int areaGrid = geomUtils.xy2grid(areaBBox[0], areaBBox[1]); - nodeCache.ensureGrid(areaGrid); - - areaCells.parallelStream().forEach(cellFile -> { - logger.info("Processing file: " + cellFile.toString() + " in thread [" + Thread.currentThread().getId() + "]"); - try { - SingleCellConverter cellConverter = new SingleCellConverter(cellFile, outdir, conf, gridExtents, featurePreprocessMML, shapePreprocessor, geomUtils, featureIDProvider, cachedDatasources, nodeCache); - if (cellConverter.isValidCell()) { - cellConverter.doConvert(); - } - } catch (IOException e) { - logger.severe("Converting file " + cellFile + " failed. Exception: " + e.toString()); - e.printStackTrace(); - } - }); - - Optional relatedArea = areaRelations.get(areaKey); - if (relatedArea != null && relatedArea.isPresent()) { - double[] relatedBBox = grid2448.get(relatedArea.get()); - int relatedGrid = geomUtils.xy2grid(relatedBBox[0], relatedBBox[1]); - nodeCache.removeGrid(relatedGrid); - } - }); - } - - private Map> getRelatedAreas(Map grid2448, Map> areas) { - return areas - .keySet() - .parallelStream() - .filter(grid2448::containsKey) - .collect(Collectors.toMap( - area -> area, - area -> { - double[] bbox = grid2448.get(area); - double minx = bbox[0]; - double miny = bbox[2]; - - double searchx = minx + 24e3 - 2 * 48e3; - double searchy = miny + 12e3 - 2 * 24e3; - double[] search = new double[]{searchx, searchy}; - - return areas - .keySet() - .parallelStream() - .filter(grid2448::containsKey) - .filter(searchArea -> { - double[] searchBBox = grid2448.get(searchArea); - return geomUtils.pointInside(searchBBox, search); - }).findFirst(); - })); - } - - private void initializeCachedDatasources() { - cachedDatasources = new CachedAdditionalDataSources(conf); - } - - private Stream getMTKCellFiles(File mtkDirectory) { - Collection files = FileUtils.listFiles( - mtkDirectory, - new RegexFileFilter("^([A-Z0-9]{6})_mtk.zip"), - DirectoryFileFilter.DIRECTORY - ); - return files.stream().sorted(); - } - - MTKToGarminConverter(File configFile) { - conf = readConfigFile(configFile); - initializeOGR(); - readGridExtents(); - geomUtils = new GeomUtils(); - nodeCache = new NodeCache(); - + return outDir; } private Config readConfigFile(File configFile) { @@ -176,7 +67,6 @@ private Config readConfigFile(File configFile) { Config conf = ConfigFactory.parseFile(configFile); logger.info("CONFIG: " + conf.root().render()); return conf; - } private void initializeOGR() { @@ -184,29 +74,5 @@ private void initializeOGR() { ogr.UseExceptions(); Locale.setDefault(new Locale("en", "US")); ogr.RegisterAll(); - - featurePreprocessMML = new MMLFeaturePreprocess(); - shapePreprocessor = new ShapeFeaturePreprocess(); - } - - private void readGridExtents() { - DataSource gridds = ogr.Open(conf.getString("grid")); - Layer lyr = gridds.GetLayer(0); - - lyr.SetAttributeFilter("gridSize = '12x12'"); - - double[] extent = new double[4]; - FeatureDefn glyrdef = lyr.GetLayerDefn(); - int gridcellIndex = glyrdef.GetFieldIndex("gridCell"); - - for (Feature feat = lyr.GetNextFeature(); feat != null; feat = lyr.GetNextFeature()) { - Geometry geom = feat.GetGeometryRef(); - - geom.GetEnvelope(extent); - gridExtents.put(feat.GetFieldAsString(gridcellIndex), extent.clone()); - feat.delete(); - } - lyr.delete(); - gridds.delete(); } } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MultiOSMPBFWriter.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MultiOSMPBFWriter.java new file mode 100644 index 0000000..32ad5c0 --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/MultiOSMPBFWriter.java @@ -0,0 +1,69 @@ +package org.hylly.mtk2garmin; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.logging.Logger; +import java.util.stream.Stream; + +public class MultiOSMPBFWriter { + private final Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); + private final OSMPBF nodeOutput; + private final OSMPBF wayOutput; + private final OSMPBF relationOutput; + private final File mergedFile; + private final File nodeFile; + private final File wayFile; + private final File relationFile; + + public MultiOSMPBFWriter(Path outDir, String inputKey) { + this.nodeFile = new File(outDir.resolve(String.format("%s_nodes.osm.pbf", inputKey)).toString()); + this.wayFile = new File(outDir.resolve(String.format("%s_ways.osm.pbf", inputKey)).toString()); + this.relationFile = new File(outDir.resolve(String.format("%s_relations.osm.pbf", inputKey)).toString()); + + this.mergedFile = new File(outDir.resolve(String.format("%s.osm.pbf", inputKey)).toString()); + + this.nodeOutput = new OSMPBF(this.nodeFile); + this.wayOutput = new OSMPBF(this.wayFile); + this.relationOutput = new OSMPBF(this.relationFile); + } + + void writeNodes(Stream nodes) throws IOException { + this.nodeOutput.writePBFElements(nodes, null, null); + } + + void writeWays(Stream ways) throws IOException { + this.wayOutput.writePBFElements(null, ways, null); + } + + void writeRelations(Stream relations) throws IOException { + this.relationOutput.writePBFElements(null, null, relations); + } + + void closeMultiWriter() throws IOException { + this.nodeOutput.closePBF(); + this.wayOutput.closePBF(); + this.relationOutput.closePBF(); + } + + void writeMergedFile() throws IOException { + logger.info("Writing merged osm pbf file to " + mergedFile.toString()); + OSMPBF mergedOutput = new OSMPBF(mergedFile); + mergedOutput.writePBFHeaders(); + mergedOutput.closePBF(); + try (FileOutputStream mergedOutputStream = new FileOutputStream(mergedFile, true)) { + logger.info("Copying nodes from " + nodeFile.toString()); + streamCopyFile(mergedOutputStream, this.nodeFile); + logger.info("Copying ways from " + wayFile.toString()); + streamCopyFile(mergedOutputStream, this.wayFile); + logger.info("Copying relations from " + relationFile.toString()); + streamCopyFile(mergedOutputStream, this.relationFile); + } + } + + private void streamCopyFile(FileOutputStream outStream, File fromFile) throws IOException { + Files.copy(fromFile.toPath(), outStream); + } +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Node.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Node.java index 89636ae..23e03b3 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Node.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Node.java @@ -1,40 +1,37 @@ package org.hylly.mtk2garmin; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; +import java.util.HashMap; +import java.util.Map; public class Node { final long id; final double lon; final double lat; - final int cell; final long hash; - Short2ShortRBTreeMap nodeTags; + Map nodeTags; boolean waypart; - Node(long hash, int cell, double lon, double lat, boolean waypart) { + Node(long hash, double lon, double lat, boolean waypart) { this.id = -1; this.hash = hash; this.lon = lon; this.lat = lat; - this.cell = cell; this.waypart = waypart; } - Node(long id, long hash, int cell, double lon, double lat, boolean waypart) { + Node(long id, long hash, double lon, double lat, boolean waypart) { this.id = id; this.hash = hash; this.lon = lon; this.lat = lat; - this.cell = cell; this.waypart = waypart; } - public Node(long id, long hash, int cell, double lon, double lat, boolean waypart, Short2ShortRBTreeMap tags) { + public Node(long id, long hash, double lon, double lat, boolean waypart, Map tags) { this.id = id; this.hash = hash; this.lon = lon; this.lat = lat; - this.cell = cell; this.waypart = waypart; this.nodeTags = tags; } @@ -45,9 +42,9 @@ void clearTags() { } } - void addTag(short key, short value) { + void addTag(String key, String value) { if (nodeTags == null) { - nodeTags = new Short2ShortRBTreeMap(); + nodeTags = new HashMap<>(); } nodeTags.put(key, value); @@ -73,7 +70,7 @@ long getHash() { return hash; } - Short2ShortRBTreeMap getTags() { + Map getTags() { return nodeTags; } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeCache.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeCache.java deleted file mode 100644 index 9c9d483..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeCache.java +++ /dev/null @@ -1,53 +0,0 @@ -package org.hylly.mtk2garmin; - -import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap; -import it.unimi.dsi.fastutil.ints.Int2ObjectMap; -import it.unimi.dsi.fastutil.ints.Int2ObjectMaps; -import it.unimi.dsi.fastutil.longs.Long2LongAVLTreeMap; -import it.unimi.dsi.fastutil.longs.Long2LongMap; -import it.unimi.dsi.fastutil.longs.Long2LongMaps; - -import javax.swing.text.html.Option; -import java.util.Optional; -import java.util.logging.Logger; - -class NodeCache { - private Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); - private final Int2ObjectMap nodeCache; - - - NodeCache() { - Int2ObjectMap unsafeNodeCache = new Int2ObjectAVLTreeMap<>(); - nodeCache = Int2ObjectMaps.synchronize(unsafeNodeCache); - } - - void ensureGrid(int grid) { - if (!nodeCache.containsKey(grid)) { - Long2LongAVLTreeMap unsafeGridMap = new Long2LongAVLTreeMap(); - nodeCache.put(grid, Long2LongMaps.synchronize(unsafeGridMap)); - logger.info(grid + " added to nodecache"); - } - } - - void removeGrid(int grid) { - if (nodeCache.containsKey(grid)) { - nodeCache.remove(grid); - logger.info(grid + " removed from nodecache"); - } - } - - Optional getNodeId(int pcell, long phash) { - if (nodeCache.containsKey(pcell)) { - Long2LongMap areaCache = nodeCache.get(pcell); - if (areaCache.containsKey(phash)) { - return Optional.of(areaCache.get(phash)); - } - } - return Optional.empty(); - } - - void addNodeId(int pcell, long phash, long nodeid) { - ensureGrid(pcell); - nodeCache.get(pcell).put(phash, nodeid); - } -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeIDMapBuilder.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeIDMapBuilder.java new file mode 100644 index 0000000..7e82663 --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/NodeIDMapBuilder.java @@ -0,0 +1,69 @@ +package org.hylly.mtk2garmin; + +import org.jetbrains.annotations.NotNull; +import org.mapdb.DB; +import org.mapdb.DBMaker; +import org.mapdb.HTreeMap; +import org.mapdb.Serializer; +import org.mapdb.serializer.SerializerCompressionWrapper; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import java.util.logging.Logger; +import java.util.stream.Collectors; + +import static java.nio.file.Files.deleteIfExists; + +public class NodeIDMapBuilder { + private final Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); + + private DB dbDisk; + private HTreeMap nodeIDs; + private List openedDBs = new ArrayList<>(); + + @NotNull + public HTreeMap getNodeIDMap(String name) { + logger.info("Opening node map nodes2 / onDisk-nodes"); + String dbName = "nodes" + name; + try { + deleteIfExists(Path.of(dbName)); + } catch (IOException e) { + logger.severe("Failed to delete existing dbfile " + dbName); + } + dbDisk = DBMaker + .fileDB(dbName) + .fileMmapEnable() + .fileDeleteAfterClose() + .fileDeleteAfterOpen() + .closeOnJvmShutdown() + .make(); + + nodeIDs = dbDisk + .hashMap("onDisk-" + name) + .keySerializer(new SerializerCompressionWrapper<>(Serializer.LONG)) + .valueSerializer(new SerializerCompressionWrapper<>(Serializer.LONG)) + .create(); + this.openedDBs.add(dbName); + return nodeIDs; + } + + public void closeNodeIDMap() { + logger.info("Closing node map nodes2 / onDisk-nodes"); + this.nodeIDs.close(); + this.dbDisk.close(); + this.nodeIDs = null; + this.dbDisk = null; + + this.openedDBs = this.openedDBs.stream().map(fn -> { + File f = new File(fn); + if (f.delete()) { + return null; + } + return fn; + }).filter(Objects::nonNull).collect(Collectors.toList()); + } +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OGRSourceConverter.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OGRSourceConverter.java new file mode 100644 index 0000000..aacd751 --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OGRSourceConverter.java @@ -0,0 +1,550 @@ +package org.hylly.mtk2garmin; + +import com.typesafe.config.Config; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.lang3.tuple.Triple; +import org.gdal.gdal.gdal; +import org.gdal.ogr.DataSource; +import org.gdal.ogr.Feature; +import org.gdal.ogr.FeatureDefn; +import org.gdal.ogr.FieldDefn; +import org.gdal.ogr.Geometry; +import org.gdal.ogr.Layer; +import org.gdal.ogr.ogr; +import org.gdal.osr.CoordinateTransformation; +import org.gdal.osr.SpatialReference; +import org.jetbrains.annotations.NotNull; +import org.mapdb.HTreeMap; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Vector; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import java.util.function.Supplier; +import java.util.logging.Logger; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import java.util.stream.Stream; + +public class OGRSourceConverter { + private final Logger logger = Logger.getLogger(MTKToGarminConverter.class.getName()); + private final String inputKey; + private final String inputPath; + private final List bboxFilter; + private final List inputLayers; + private final String attributeFilter; + + + private final GeomUtils geomUtils; + private final FeatureIDProvider featureIDProvider; + private final Optional> wantedFields; + private final HTreeMap nodeIDs; + private final NodeIDMapBuilder nodeIDMapBuilder; + private final boolean recursivePath; + private final String layerMatch; + private final Path outDir; + private CoordinateTransformation srctowgs; + + public OGRSourceConverter(HTreeMap nodeIDs, Path outDir, List bboxFilter, String inputKey, Config inputConfig) { + logger.info("Starting converter for " + inputKey); + this.inputKey = inputKey; + this.outDir = outDir; + this.inputPath = inputConfig.getString("path"); + this.inputLayers = inputConfig.getStringList("layers"); + this.layerMatch = inputConfig.hasPath("layerMatch") ? inputConfig.getString("layerMatch") : null; + this.wantedFields = inputConfig.hasPath("wantedFields") ? Optional.of(new HashSet<>(inputConfig.getStringList("wantedFields"))) : Optional.empty(); + this.attributeFilter = inputConfig.getString("attributeFilter"); + this.recursivePath = inputConfig.hasPath("recursivePath") && inputConfig.getBoolean("recursivePath"); + this.bboxFilter = bboxFilter; + + this.geomUtils = new GeomUtils(); + this.featureIDProvider = new FeatureIDProvider(); + + this.nodeIDMapBuilder = new NodeIDMapBuilder(); + this.nodeIDs = Objects.requireNonNullElseGet(nodeIDs, () -> this.nodeIDMapBuilder.getNodeIDMap(inputKey)); + } + + private TagHandler resolveTagHandler(String inputKey) { + switch (inputKey) { + case "syvyyskayrat": + case "syvyyspisteet": + return new ShapeSyvyysTagHandler(); + case "mtkkorkeus": + case "mtkmaasto": + case "krk": + return new MTKTagHandler(); + default: + return new GenericTagHandler(); + } + } + + public void convert() { + logger.info("Starting conversion for \"" + this.inputKey + "\" from " + this.inputPath + " to " + this.outDir.toAbsolutePath() + " (resursive: " + this.recursivePath + ")"); + if (this.recursivePath) { + try { + convertOGRDatasources(Files.walk(Paths.get(this.inputPath)) + .filter(Files::isRegularFile) + .map(fn -> { + String inp = fn.getFileName().toString().toLowerCase().endsWith(".zip") ? "/vsizip/" + fn : fn.toString(); + return startReadingOGRFile(inp); + })); + } catch (IOException e) { + e.printStackTrace(); + logger.severe("Failed to traverse recursive path"); + } + } else { + DataSource ds = startReadingOGRFile(this.inputPath); + convertOGRDatasources(Stream.of(ds)); + ds.delete(); + } + this.nodeIDMapBuilder.closeNodeIDMap(); + } + + private DataSource startReadingOGRFile(String fn) { + logger.info("Initializing file " + fn); + gdal.SetConfigOption("OGR_SQLITE_CACHE", "1024MB"); + DataSource ds = ogr.Open(fn, false); + if (ds == null) { + logger.severe("Reading file " + fn + " failed"); + System.exit(1); + + } + return ds; + } + + private void convertOGRDatasources(Stream dataSourceStream) { + AtomicInteger outFileCounter = new AtomicInteger(0); + + ExecutorService elementPairExecutorService = Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors()); + long st = System.currentTimeMillis(); + Stream>> pairStream = dataSourceStream.flatMap(ds -> { + logger.info("Start converting " + ds.GetName()); + logger.info("Attribute filter: " + this.attributeFilter); + logger.info("BBOX filter: " + this.bboxFilter); + + String attrFilter = this.attributeFilter; + AtomicReference breakLayerLoop = new AtomicReference<>(false); + + List wantedLayers = resolveWantedLayers(ds); + logger.info("wanted layers: " + wantedLayers); + return wantedLayers.stream().takeWhile($ -> !breakLayerLoop.get()).flatMap(layerName -> { + Layer lyr = ds.GetLayer(layerName); + + if (this.bboxFilter.size() == 4) { + lyr.SetSpatialFilterRect(this.bboxFilter.get(0), this.bboxFilter.get(1), this.bboxFilter.get(2), this.bboxFilter.get(3)); + } + + if (attrFilter != null) { + lyr.SetAttributeFilter(attrFilter); + } + + logger.info("Converting layer " + layerName); + + ArrayList fieldMapping = getFieldMappingFromLayer(lyr); + + Supplier layerFeatureStream = lyr::GetNextFeature; + + return Stream.generate(layerFeatureStream) + .takeWhile(feat -> feat != null && !breakLayerLoop.get()) + .filter(feat -> feat.GetGeometryRef() != null) + .map(feat -> getElementTripleFromFeature(lyr.GetName(), fieldMapping, feat)); + }); + }); + + List>> handlerBatch = Collections.synchronizedList(new ArrayList<>()); + + BlockingQueue>>> resultQueue = new ArrayBlockingQueue<>(500); + + ExecutorService pbfWriterExecutor = Executors.newSingleThreadExecutor(); + + List writeBatch = Collections.synchronizedList(new ArrayList<>()); + + Thread resultConsumerThread = new Thread(() -> { + while (true) { + try { + Future>> resf = resultQueue.take(); + + resf.get().stream() + .filter(Optional::isPresent) + .map(Optional::get) + .filter(elems -> !elems.nodes().isEmpty() || !elems.ways().isEmpty() || !elems.relations().isEmpty()).forEach(handlerResult -> { + writeBatch.add(handlerResult); + + if (writeBatch.size() > 500000) { + List resultsToWrite = new ArrayList<>(writeBatch); + writeBatch.clear(); + pbfWriterExecutor.execute(() -> writeBatchToFile(outFileCounter, resultsToWrite)); + writeBatch.clear(); + } + }); + + } catch (InterruptedException e) { + throw new RuntimeException(e); + } catch (ExecutionException e) { + throw new RuntimeException(e); + } + } + }); + + resultConsumerThread.setDaemon(true); + + resultConsumerThread.start(); + + + long st2 = System.currentTimeMillis(); + AtomicLong numFeatures = new AtomicLong(0); + AtomicLong stt = new AtomicLong(st2); + AtomicLong numNodes = new AtomicLong(0); + pairStream.forEach(elementTriple -> { + if (Objects.isNull(elementTriple)) { + System.out.println("wtf???"); + System.exit(0); + } + handlerBatch.add(elementTriple); + + if (handlerBatch.size() > 1000) { + synchronized (this) { + List>> batchPairs = new ArrayList<>(handlerBatch); + + Future>> futures = elementPairExecutorService.submit(() -> batchPairs.stream().map(et -> { + TagHandler tagHandler = resolveTagHandler(inputKey); + Optional handlerResult = this.handleFeature(tagHandler, et.getLeft(), et.getMiddle(), et.getRight()); + + handlerResult.ifPresent(elems -> numNodes.addAndGet(elems.nodes().size())); + + long n = numFeatures.incrementAndGet(); + if (n % 10000 == 0) { + long msFromStart = System.currentTimeMillis() - st; + long msFromPrev = System.currentTimeMillis() - stt.get(); + logger.info(numNodes.get() + " nodes and " + n + " features processed in " + msFromStart + "ms and " + msFromPrev + "ms/10000"); + stt.set(System.currentTimeMillis()); + nodeIDs.expireEvict(); + } + return handlerResult; + }).collect(Collectors.toList())); + + try { + resultQueue.put(futures); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + + handlerBatch.clear(); + } + } + }); + + try { + elementPairExecutorService.shutdown(); + while (!elementPairExecutorService.awaitTermination(5, TimeUnit.SECONDS)) { + System.out.println("Waiting element pair executors to finish"); + } + + while (!resultQueue.isEmpty()) { + System.out.println("Waiting result queue to empty (" + resultQueue.size() + " left)"); + Thread.sleep(5000); + } + + pbfWriterExecutor.execute(() -> writeBatchToFile(outFileCounter, writeBatch)); + + pbfWriterExecutor.shutdown(); + while (!pbfWriterExecutor.awaitTermination(5, TimeUnit.SECONDS)) { + System.out.println("Waiting pbf writer executors to finish"); + } + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + } + + private void writeBatchToFile(AtomicInteger outFileCounter, List writeBatch) { + Path batchOutFile = this.outDir.resolve(String.format("%s_%d.osm.pbf", inputKey, outFileCounter.getAndIncrement())); + OSMPBFWriter batchPBFWriter = new OSMPBFWriter(batchOutFile.toFile()); + AtomicLong nnodes = new AtomicLong(0L); + AtomicLong nways = new AtomicLong(0L); + AtomicLong nrelations = new AtomicLong(0L); + + try { + ListUtils.partition(writeBatch, 1000).forEach(batch -> { + List nodes = new ArrayList<>(); + List ways = new ArrayList<>(); + List relations = new ArrayList<>(); + batch.forEach(elems -> { + nodes.addAll(elems.nodes()); + ways.addAll(elems.ways()); + relations.addAll(elems.relations()); + }); + nnodes.addAndGet(nodes.size()); + nways.addAndGet(ways.size()); + nrelations.addAndGet(relations.size()); + + try { + batchPBFWriter.writeOSMPBFElements(nodes.stream(), ways.stream(), relations.stream()); + } catch (IOException e) { + throw new RuntimeException(e); + } + + }); + logger.info("Elements written: " + nnodes + " n, " + nways + " w, " + nrelations + " r"); + batchPBFWriter.closeOSMPBFFile(); + } catch (IOException e) { + e.printStackTrace(); + logger.severe("Failed writing OSMPBF for elements!"); + System.exit(2); + } + } + + private List resolveWantedLayers(DataSource ds) { + List wantedLayers = this.inputLayers; + String finalLayerMatch = layerMatch; + if (this.inputLayers.isEmpty() && this.layerMatch != null) { + wantedLayers = IntStream.range(0, ds.GetLayerCount()).mapToObj(ds::GetLayerByIndex).map(Layer::GetName).filter(n -> n.contains(finalLayerMatch)).collect(Collectors.toList()); + } + return wantedLayers; + } + + @NotNull + private ArrayList getFieldMappingFromLayer(Layer lyr) { + Vector ignoredFields = new Vector<>(); + FeatureDefn lyrdefn = lyr.GetLayerDefn(); + ArrayList fieldMapping = new ArrayList<>(); + for (int i1 = 0; i1 < lyrdefn.GetFieldCount(); i1++) { + FieldDefn fdefn = lyrdefn.GetFieldDefn(i1); + String fname = fdefn.GetName(); + + if (this.wantedFields.isPresent()) { + if (!this.wantedFields.get().contains(fname)) { + ignoredFields.add(fname); + continue; + } + } + fieldMapping.add(new Field(fname, fdefn.GetFieldType(), i1)); + } + + if (lyr.TestCapability(ogr.OLCIgnoreFields) && ignoredFields.size() > 0) { + lyr.SetIgnoredFields(ignoredFields); + } + + lyr.ResetReading(); + return fieldMapping; + } + + @NotNull + private Triple> getElementTripleFromFeature(String layerName, ArrayList fieldMapping, Feature feat) { + Geometry geom = feat.GetGeometryRef().Clone(); + HashMap fields = new HashMap<>(); + for (Field f : fieldMapping) { + String fname = f.getFieldName().intern(); + String fvalue = feat.GetFieldAsString(f.getFieldIndex()).intern(); + fields.put(fname, fvalue); + } + + Triple> ret = Triple.of(layerName, geom, fields); + feat.delete(); + return ret; + } + + private Optional handleFeature(TagHandler tagHandler, String lyrname, Geometry geom, Map rawFields) { + List nodes = new ArrayList<>(); + List ways = new ArrayList<>(); + List relations = new ArrayList<>(); + + Object2ObjectOpenHashMap fields = new Object2ObjectOpenHashMap<>(); + for (Map.Entry fe : rawFields.entrySet()) { + fields.put(fe.getKey().intern(), fe.getValue().intern()); + } + + geom = geom.SimplifyPreserveTopology(0.5); + + if (srctowgs == null) { + SpatialReference sref = geom.GetSpatialReference(); + srctowgs = this.geomUtils.getTransformationToWGS84(sref.ExportToProj4()); + } + + GeomHandlerResult ghr; + + if (geom == null) { + System.out.println("empty geom 2"); + return Optional.of(new HandlerResult(nodes, ways, relations)); + } + + if (geom.GetGeometryCount() < 2) { + if (geom.GetGeometryCount() > 0) { + geom = geom.GetGeometryRef(0); + } + ghr = this.handleSingleGeom(geom); + } else { + ghr = this.handleMultiGeom(geom); + } + double geomarea = geom.Area(); + + geom.delete(); + + String tyyppi = lyrname.toLowerCase(); + if (tyyppi.endsWith("kiinteistoraja")) tyyppi = "kiinteistoraja"; + + for (Node n : ghr.nodes) { + if (!n.isWaypart()) { + n.addTag("tyyppi", tyyppi); + tagHandler.addElementTags(n.nodeTags, fields, tyyppi, geomarea); + } + nodes.add(n); + } + + for (Way w : ghr.ways) { + if (!w.getRole().equals("inner")) { + w.tags.put("tyyppi", tyyppi); + tagHandler.addElementTags(w.tags, fields, tyyppi, geomarea); + } + ways.add(w); + } + + for (Relation r : ghr.relations) { + + r.tags.put("tyyppi", tyyppi); + tagHandler.addElementTags(r.tags, fields, tyyppi, geomarea); + relations.add(r); + } + + return Optional.of(new HandlerResult(nodes, ways, relations)); + + } + + private GeomHandlerResult handleSingleGeom(Geometry geom) { + + GeomHandlerResult ghr = new GeomHandlerResult(); + + if (geom.IsEmpty()) { + return ghr; + } + + boolean geomIsPoint = geom.GetGeometryType() == ogr.wkbPoint || geom.GetGeometryType() == ogr.wkbPoint25D; + + double[][] srcpoints = geom.GetPoints(); + double[][] wgspoints = geom.GetPoints(); + + srctowgs.TransformPoints(wgspoints); + Way w = null; + long wid; + if (!geomIsPoint) { + wid = featureIDProvider.getWayID(); + w = new Way(); + w.id = wid; + } + + for (int i = 0; i < srcpoints.length; i++) { + + long phash = geomUtils.hashCoords(srcpoints[i][0], srcpoints[i][1]); + + long nodeid; + if (!nodeIDs.containsKey(phash)) { + nodeid = featureIDProvider.getNodeID(); + Node n = new Node(nodeid, phash, wgspoints[i][0], wgspoints[i][1], !geomIsPoint); + nodeIDs.put(phash, nodeid); + ghr.nodes.add(n); + } else { + nodeid = nodeIDs.get(phash); + } + + if (!geomIsPoint) { + w.refs.add(nodeid); + } + } + + if (w != null) { + ghr.ways.add(w); + } + + return ghr; + + } + + private GeomHandlerResult handleMultiGeom(Geometry geom) { + + GeomHandlerResult ighr; + Geometry igeom; + GeomHandlerResult ghr = new GeomHandlerResult(); + + if (!geom.GetGeometryName().equals("POLYGON")) { + for (int i = 0; i < geom.GetGeometryCount(); i++) { + igeom = geom.GetGeometryRef(i); + ighr = this.handleSingleGeom(igeom); + ghr.nodes.addAll(ighr.nodes); + ghr.ways.addAll(ighr.ways); + } + return ghr; + } + + long rid = featureIDProvider.getRelationID(); + Relation r = new Relation(); + r.setId(rid); + r.tags.put("type", "multipolygon"); + + for (int i = 0; i < geom.GetGeometryCount(); i++) { + igeom = geom.GetGeometryRef(i); + + ighr = this.handleSingleGeom(igeom); + if (ighr.ways.size() == 0) { + return new GeomHandlerResult(); + } + ighr.ways.get(0).setRole((i == 0 ? "outer" : "inner")); + + ghr.nodes.addAll(ighr.nodes); + ghr.ways.addAll(ighr.ways); + + RelationMember rm = new RelationMember(); + + rm.setId(ighr.ways.get(0).getId()); + rm.setType(); + rm.setRole((i == 0 ? "outer" : "inner")); + r.members.add(rm); + } + + ghr.relations.add(r); + return ghr; + + } + + public static class HandlerResult { + private List nodes; + private List ways; + private List relations; + + public HandlerResult(List nodes, List ways, List relations) { + this.nodes = nodes; + this.ways = ways; + this.relations = relations; + } + + public List nodes() { + return nodes; + } + + public List ways() { + return ways; + } + + public List relations() { + return relations; + } + } +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMElementBase.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMElementBase.java new file mode 100644 index 0000000..56d61e6 --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMElementBase.java @@ -0,0 +1,21 @@ +package org.hylly.mtk2garmin; + +import java.util.HashMap; +import java.util.Map; + +public class OSMElementBase { + final Map tags = new HashMap<>(); + long id; + + long getId() { + return id; + } + + void setId(long id) { + this.id = id; + } + + public Map getTags() { + return tags; + } +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBF.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBF.java index 7dfc587..6bf6280 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBF.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBF.java @@ -1,33 +1,44 @@ package org.hylly.mtk2garmin; import com.google.protobuf.ByteString; -import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ShortMap.Entry; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; import org.openstreetmap.osmosis.osmbinary.Fileformat; import org.openstreetmap.osmosis.osmbinary.Osmformat; -import java.io.*; +import java.io.BufferedOutputStream; +import java.io.DataOutputStream; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.util.Comparator; +import java.util.Map; +import java.util.concurrent.atomic.AtomicLong; +import java.util.stream.Stream; import java.util.zip.Deflater; @SuppressWarnings("FieldCanBeLocal") class OSMPBF { - private static final Double nano = .000000001; - private final String writingprogram = "mtk2garmin"; - private final Integer granularity = 100; - private final Long lat_offset = 0L; - private final Long lon_offset = 0L; - private final Integer date_granularity = 1000; + private static final Double NANO = .000000001; + private static final String WRITING_PROGRAM = "mtk2garmin"; + private static final Integer GRANULARITY = 100; + private static final Long LAT_OFFSET = 0L; + private static final Long LON_OFFSET = 0L; + private static final Integer DATE_GRANULARITY = 1000; private final File outFile; private BufferedOutputStream of; - private DataOutputStream od; + private final DataOutputStream od; OSMPBF(File outFile) { this.outFile = outFile; + try { + this.of = new BufferedOutputStream(new FileOutputStream(this.outFile)); + } catch (FileNotFoundException e) { + e.printStackTrace(); + System.exit(1); + } + this.od = new DataOutputStream(this.of); } private PBFBlob createBlob(String blobtype, byte[] data) { @@ -39,17 +50,17 @@ private Osmformat.HeaderBlock createOSMHeaderBlock(double d, double e, Osmformat.HeaderBlock.Builder hbbuilder = Osmformat.HeaderBlock .newBuilder(); - hbbuilder.setWritingprogram(this.writingprogram); + hbbuilder.setWritingprogram(WRITING_PROGRAM); hbbuilder.addRequiredFeatures("OsmSchema-V0.6"); hbbuilder.addRequiredFeatures("DenseNodes"); Osmformat.HeaderBBox.Builder bboxbuilder = Osmformat.HeaderBBox .newBuilder(); - bboxbuilder.setLeft((long) (d / nano)); - bboxbuilder.setRight((long) (f / nano)); - bboxbuilder.setTop((long) (g / nano)); - bboxbuilder.setBottom((long) (e / nano)); + bboxbuilder.setLeft((long) (d / NANO)); + bboxbuilder.setRight((long) (f / NANO)); + bboxbuilder.setTop((long) (g / NANO)); + bboxbuilder.setBottom((long) (e / NANO)); hbbuilder.setBbox(bboxbuilder); @@ -57,12 +68,12 @@ private Osmformat.HeaderBlock createOSMHeaderBlock(double d, double e, } private int topbfcoord(double coord) { - return (int) ((coord / this.granularity.doubleValue()) / nano); + return (int) ((coord / GRANULARITY.doubleValue()) / NANO); } @SuppressWarnings("unused") private double frompbfcoord(int coord) { - return nano * (this.granularity.doubleValue() * (double) coord); + return NANO * (GRANULARITY.doubleValue() * (double) coord); } private Osmformat.StringTable buildStringTable(StringTable stringtable) { @@ -70,22 +81,19 @@ private Osmformat.StringTable buildStringTable(StringTable stringtable) { stringtable.getStringTable() .forEach(string -> stbuilder.addS(ByteString.copyFromUtf8(string))); - System.out.println(stbuilder.getSCount() + " strings in OSMPBF stringtable from MTK2Garmin stringtable " + stringtable.getStringtableSize()); - //System.out.println(Arrays.deepToString(MTKToGarminConverter.stringTable.toArray())); - //System.out.println(Arrays.deepToString(MTKToGarminConverter.stringTableTranslate.entrySet().toArray())); return stbuilder.build(); } private Osmformat.PrimitiveBlock createOSMDataBlock( StringTable stringtable, - Long2ObjectOpenHashMap nodes, Long2ObjectOpenHashMap ways, - Long2ObjectOpenHashMap relations) { + Stream nodes, Stream ways, + Stream relations) { Osmformat.PrimitiveBlock.Builder pbbuilder = Osmformat.PrimitiveBlock .newBuilder(); - pbbuilder.setGranularity(this.granularity); - pbbuilder.setLatOffset(this.lat_offset); - pbbuilder.setLonOffset(this.lon_offset); - pbbuilder.setDateGranularity(this.date_granularity); + pbbuilder.setGranularity(GRANULARITY); + pbbuilder.setLatOffset(LAT_OFFSET); + pbbuilder.setLonOffset(LON_OFFSET); + pbbuilder.setDateGranularity(DATE_GRANULARITY); Osmformat.PrimitiveGroup pg = this.createOSMPrimitiveGroup(stringtable, nodes, ways, relations); @@ -98,12 +106,12 @@ private Osmformat.PrimitiveBlock createOSMDataBlock( private Osmformat.PrimitiveGroup createOSMPrimitiveGroup( StringTable stringtable, - Long2ObjectOpenHashMap nodes, Long2ObjectOpenHashMap ways, - Long2ObjectOpenHashMap relations) { + Stream nodes, Stream ways, + Stream relations) { Osmformat.PrimitiveGroup.Builder pgbuilder = Osmformat.PrimitiveGroup .newBuilder(); if (ways != null) - pgbuilder.addAllWays(this.buildOSMWays(ways)); + pgbuilder.addAllWays(this.buildOSMWays(stringtable, ways)); if (relations != null) pgbuilder.addAllRelations(this.buildOSMRelations(stringtable, relations)); if (nodes != null) @@ -114,147 +122,140 @@ private Osmformat.PrimitiveGroup createOSMPrimitiveGroup( private Osmformat.DenseNodes buildOSMDenseNodes( StringTable stringtable, - final Long2ObjectOpenHashMap nodes) { + final Stream nodes) { Osmformat.DenseNodes.Builder dsb = Osmformat.DenseNodes.newBuilder(); Osmformat.DenseInfo.Builder dib = Osmformat.DenseInfo.newBuilder(); - long lid = 0, llat = 0, llon = 0; - - long pbflat, pbflon; - //Long[] node_keys_sorted = ArrayUtils.toObject(nodes.keySet().toLongArray()); - - Node[] nodes_sorted = new Node[nodes.size()]; - nodes.values().toArray(nodes_sorted); - Arrays.sort(nodes_sorted, (n1,n2) -> (int) (n1.getId()-n2.getId())); - - for (Node n : nodes_sorted) { - long id = n.getId(); - dsb.addId(id - lid); - - dib.addVersion(1); - dib.addUid(0); - dib.addUserSid(0); - dib.addTimestamp(0); - dib.addChangeset(0); - - lid = id; - - pbflat = this.topbfcoord(n.getLat()); - pbflon = this.topbfcoord(n.getLon()); - - dsb.addLat(pbflat - llat); - dsb.addLon(pbflon - llon); - - llat = pbflat; - llon = pbflon; - - Short2ShortRBTreeMap ntags = n.getTags(); - if (ntags != null) { - for (Entry t : ntags.short2ShortEntrySet()) { - if (t.getShortKey() > stringtable.getStringtableSize() || t.getShortValue() > stringtable.getStringtableSize()) { - - System.out.println("Node key error! " + t.getShortKey() + " or " + t.getShortValue() + " too large"); + AtomicLong lid = new AtomicLong(); + AtomicLong llat = new AtomicLong(); + AtomicLong llon = new AtomicLong(); + + nodes + .sorted(Comparator.comparingLong(Node::getId)) + .forEach(n -> { + long id = n.getId(); + dsb.addId(id - lid.get()); + + dib.addVersion(1); + dib.addUid(0); + dib.addUserSid(0); + dib.addTimestamp(0); + dib.addChangeset(0); + + lid.set(id); + long pbflat = this.topbfcoord(n.getLat()); + long pbflon = this.topbfcoord(n.getLon()); + + dsb.addLat(pbflat - llat.get()); + dsb.addLon(pbflon - llon.get()); + + llat.set(pbflat); + llon.set(pbflon); + + Map ntags = n.getTags(); + if (ntags != null) { + for (Map.Entry t : ntags.entrySet()) { + int k = stringtable.getStringId(t.getKey()); + int tv = stringtable.getStringId(t.getValue()); + if (k > stringtable.getStringtableSize() || tv > stringtable.getStringtableSize()) { + System.out.println("Node key error! " + k + " or " + t.getValue() + " too large"); + } + dsb.addKeysVals(k); + dsb.addKeysVals(tv); + } } - dsb.addKeysVals(t.getShortKey()); - dsb.addKeysVals(t.getShortValue()); - } - } - dsb.addKeysVals(0); + dsb.addKeysVals(0); - } + }); - //System.out.println("Node ids: " + Arrays.toString(dsb.getKeysValsList().toArray())); dsb.setDenseinfo(dib); return dsb.build(); } - private ArrayList buildOSMWays(Long2ObjectOpenHashMap ways) { + private ArrayList buildOSMWays(StringTable stringtable, Stream ways) { ArrayList pbfways = new ArrayList<>(); Osmformat.Info.Builder wib = Osmformat.Info.newBuilder(); wib.setVersion(1); - long[] waykeys = ways.keySet().toLongArray(); - Arrays.sort(waykeys); - - for (long wk : waykeys) { - Way w = ways.get(wk); - Osmformat.Way.Builder wb = Osmformat.Way.newBuilder(); - wb.setId(w.getId()); - wb.setInfo(wib); - - Short2ShortRBTreeMap wtags = w.getTags(); - for (Entry t : wtags.short2ShortEntrySet()) { - wb.addKeys(t.getShortKey()); - wb.addVals(t.getShortValue()); - } - - long lref = 0; - for (int i = 0; i < w.refs.size(); i++) { - long r = w.refs.get(i); + ways + .sorted(Comparator.comparingLong(Way::getId)) + .forEach(w -> { +// Way w = ways.get(wk); + Osmformat.Way.Builder wb = Osmformat.Way.newBuilder(); + + wb.setId(w.getId()); + wb.setInfo(wib); + Map wtags = w.getTags(); + for (Map.Entry t : wtags.entrySet()) { + wb.addKeys(stringtable.getStringId(t.getKey())); + wb.addVals(stringtable.getStringId(t.getValue())); + } - wb.addRefs(r - lref); - lref = r; - } + long lref = 0; + for (int i = 0; i < w.refs.size(); i++) { + long r = w.refs.get(i); + wb.addRefs(r - lref); + lref = r; + } - pbfways.add(wb.build()); - } + pbfways.add(wb.build()); + }); return pbfways; } private ArrayList buildOSMRelations( StringTable stringtable, - Long2ObjectOpenHashMap relations) { + Stream relations) { ArrayList pbfrels = new ArrayList<>(); Osmformat.Info.Builder rib = Osmformat.Info.newBuilder(); rib.setVersion(1); - long[] relkeys = relations.keySet().toLongArray(); - Arrays.sort(relkeys); - for (long rk : relkeys) { - Relation r = relations.get(rk); - Osmformat.Relation.Builder rb = Osmformat.Relation.newBuilder(); - rb.setId(r.getId()); - rb.setInfo(rib); - - Short2ShortRBTreeMap rtags = r.getTags(); - for (Entry t : rtags.short2ShortEntrySet()) { - rb.addKeys(t.getShortKey()); - rb.addVals(t.getShortValue()); - } + relations + .sorted(Comparator.comparingLong(Relation::getId)) + .forEach(r -> { + Osmformat.Relation.Builder rb = Osmformat.Relation.newBuilder(); + rb.setId(r.getId()); + rb.setInfo(rib); + + Map rtags = r.getTags(); + for (Map.Entry t : rtags.entrySet()) { + rb.addKeys(stringtable.getStringId(t.getKey())); + rb.addVals(stringtable.getStringId(t.getValue())); + } - long lmid = 0; - for (RelationMember m : r.getMembers()) { - rb.addRolesSid(stringtable.getStringId(m.getRole())); - rb.addMemids(m.getId() - lmid); - lmid = m.getId(); - switch (m.getType()) { - case "node": - rb.addTypes(Osmformat.Relation.MemberType.NODE); - break; - case "way": - rb.addTypes(Osmformat.Relation.MemberType.WAY); - break; - case "relation": - rb.addTypes(Osmformat.Relation.MemberType.RELATION); - break; - } - } + long lmid = 0; + for (RelationMember m : r.getMembers()) { + rb.addRolesSid(stringtable.getStringId(m.getRole())); + rb.addMemids(m.getId() - lmid); + lmid = m.getId(); + switch (m.getType()) { + case "node": + rb.addTypes(Osmformat.Relation.MemberType.NODE); + break; + case "way": + rb.addTypes(Osmformat.Relation.MemberType.WAY); + break; + case "relation": + rb.addTypes(Osmformat.Relation.MemberType.RELATION); + break; + } + } - pbfrels.add(rb.build()); - } + pbfrels.add(rb.build()); + }); return pbfrels; } - void writePBFElements(StringTable stringtable, - Long2ObjectOpenHashMap nodes, Long2ObjectOpenHashMap ways, - Long2ObjectOpenHashMap relations) throws IOException { + void writePBFElements(Stream nodes, Stream ways, + Stream relations) throws IOException { + StringTable stringtable = new StringTable(); Osmformat.PrimitiveBlock pb = this .createOSMDataBlock(stringtable, nodes, ways, relations); PBFBlob data = this.createBlob("OSMData", pb.toByteArray()); @@ -273,9 +274,6 @@ void writePBFHeaders() throws IOException { private void writePBFHeaders(double minx, double miny, double maxx, double maxy) throws IOException { - this.of = new BufferedOutputStream(new FileOutputStream(this.outFile)); - this.od = new DataOutputStream(this.of); - Osmformat.HeaderBlock hb = this.createOSMHeaderBlock(minx, miny, maxx, maxy); @@ -292,8 +290,8 @@ void closePBF() throws IOException { } private static class PBFBlob { - private Fileformat.BlobHeader header; - private Fileformat.Blob body; + private final Fileformat.BlobHeader header; + private final Fileformat.Blob body; PBFBlob(String blobtype, byte[] payload) { int size = payload.length; diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBFWriter.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBFWriter.java index 5045680..5683875 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBFWriter.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/OSMPBFWriter.java @@ -4,6 +4,7 @@ import java.io.File; import java.io.IOException; +import java.util.stream.Stream; public class OSMPBFWriter { @@ -19,12 +20,16 @@ void startWritingOSMPBF() throws IOException { op.writePBFHeaders(); } - void writeOSMPBFElements(StringTable stringtable, Long2ObjectOpenHashMap nodes, Long2ObjectOpenHashMap ways, Long2ObjectOpenHashMap relations) throws IOException { - op.writePBFElements(stringtable, nodes, null, null); - op.writePBFElements(stringtable, null, ways, null); - op.writePBFElements(stringtable, null, null, relations); + void writeOSMPBFElements(Long2ObjectOpenHashMap nodes, Long2ObjectOpenHashMap ways, Long2ObjectOpenHashMap relations) throws IOException { + op.writePBFElements(nodes.values().stream(), null, null); + op.writePBFElements(null, ways.values().stream(), null); + op.writePBFElements(null, null, relations.values().stream()); + } - // this.initElements(); + void writeOSMPBFElements(Stream nodes, Stream ways, Stream relations) throws IOException { + op.writePBFElements(nodes, null, null); + op.writePBFElements(null, ways, null); + op.writePBFElements(null, null, relations); } void closeOSMPBFFile() throws IOException { diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Relation.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Relation.java index 3ab1ba4..79ca6c0 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Relation.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Relation.java @@ -1,25 +1,9 @@ package org.hylly.mtk2garmin; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; - import java.util.ArrayList; -class Relation { - final Short2ShortRBTreeMap tags = new Short2ShortRBTreeMap(); +class Relation extends OSMElementBase { final ArrayList members = new ArrayList<>(); - long id; - - long getId() { - return id; - } - - void setId(long id) { - this.id = id; - } - - Short2ShortRBTreeMap getTags() { - return tags; - } ArrayList getMembers() { return members; diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeFeaturePreprocess.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeFeaturePreprocess.java deleted file mode 100644 index 0c186f3..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeFeaturePreprocess.java +++ /dev/null @@ -1,9 +0,0 @@ -package org.hylly.mtk2garmin; - -class ShapeFeaturePreprocess implements FeaturePreprocessI{ - @Override - public String getAttributeFilterString() { - return null; - } - -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeRetkeilyTagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeRetkeilyTagHandler.java index 6027ffe..49d398d 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeRetkeilyTagHandler.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeRetkeilyTagHandler.java @@ -1,45 +1,29 @@ package org.hylly.mtk2garmin; -import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; -import it.unimi.dsi.fastutil.shorts.Short2ObjectMap.Entry; -import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; - -import java.util.Arrays; - -class ShapeRetkeilyTagHandler implements TagHandlerI { - private final ObjectOpenHashSet wantedFields; - private final StringTable stringtable; - - private final short namefi, name; - - ShapeRetkeilyTagHandler(StringTable stringtable) { - this.stringtable = stringtable; - - namefi = this.stringtable.getStringId("name_fi"); - name = this.stringtable.getStringId("name"); - - wantedFields = new ObjectOpenHashSet<>( - Arrays.asList("name_fi", "category_i", "cat_id")); - } +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; - @Override - public ObjectOpenHashSet getWantedFields() { - return this.wantedFields; +import java.util.Map; +import java.util.Objects; + +//Deprecated until outdoors data available +@Deprecated +class ShapeRetkeilyTagHandler implements TagHandler { + + ShapeRetkeilyTagHandler() { } @Override - public void addElementTags(Short2ShortRBTreeMap tags, Short2ObjectOpenHashMap fields, String tyyppi, double geomarea) { - for (Entry k : fields.short2ObjectEntrySet()) { + public void addElementTags(Map tags, Object2ObjectOpenHashMap fields, String tyyppi, double geomarea) { + for (Map.Entry k : fields.entrySet()) { + String kk = k.getKey(); String val = k.getValue(); - - short ok = k.getShortKey(); - - if (ok == namefi) { - ok = name; + + String namefi = "name_fi"; + if (Objects.equals(kk, namefi)) { + kk = "name"; } - tags.put(ok, this.stringtable.getStringId(val)); + tags.put(kk, val); } } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeSyvyysTagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeSyvyysTagHandler.java index ba7f121..cec0eee 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeSyvyysTagHandler.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/ShapeSyvyysTagHandler.java @@ -1,49 +1,27 @@ package org.hylly.mtk2garmin; -import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; -import it.unimi.dsi.fastutil.shorts.Short2ObjectMap.Entry; -import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; -import java.util.Arrays; +import java.util.Map; -class ShapeSyvyysTagHandler implements TagHandlerI { - private final ObjectOpenHashSet wantedFields; +class ShapeSyvyysTagHandler implements TagHandler { + private final String depthContour, depthSounding, ele; - private final StringTable stringtable; - - private final short depthContour, depthSounding, ele; - - ShapeSyvyysTagHandler(StringTable stringtable) { - this.stringtable = stringtable; - - depthContour = stringtable.getStringId("VALDCO"); - depthSounding = stringtable.getStringId("DEPTH"); - ele = stringtable.getStringId("ele"); - - wantedFields = new ObjectOpenHashSet<>( - Arrays.asList("VALDCO", "DEPTH")); - } - - @Override - public ObjectOpenHashSet getWantedFields() { - return this.wantedFields; + ShapeSyvyysTagHandler() { + depthContour = "VALDCO"; + depthSounding = "DEPTH"; + ele = "ele"; } @Override - public void addElementTags(Short2ShortRBTreeMap tags, Short2ObjectOpenHashMap fields, String tyyppi, double geomarea) { - for (Entry k : fields.short2ObjectEntrySet()) { - String val = k.getValue(); - short key = k.getShortKey(); - - if (key == depthContour || key == depthSounding) { - key = ele; - val = String.format("%.1f", Float.valueOf(Float.parseFloat(val))); - + public void addElementTags(Map tags, Object2ObjectOpenHashMap fields, String tyyppi, double geomarea) { + fields.forEach((String kk, String val) -> { + if (kk.equals(depthContour) || kk.equals(depthSounding)) { + kk = ele; + val = String.format("%.1f", Float.parseFloat(val)); } - - tags.put(key, this.stringtable.getStringId(val)); - } + tags.put(kk, val); + }); } } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/SingleCellConverter.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/SingleCellConverter.java deleted file mode 100644 index 8c78a2b..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/SingleCellConverter.java +++ /dev/null @@ -1,447 +0,0 @@ -package org.hylly.mtk2garmin; - -import com.typesafe.config.Config; -import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; -import org.gdal.ogr.*; -import org.gdal.osr.CoordinateTransformation; -import org.gdal.osr.SpatialReference; - -import java.io.File; -import java.io.IOException; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.*; -import java.util.concurrent.atomic.AtomicReference; -import java.util.function.Supplier; -import java.util.logging.Logger; -import java.util.stream.Stream; - -public class SingleCellConverter { - private final boolean isValidCell; - private Logger logger = Logger.getLogger(CachedAdditionalDataSources.class.getName()); - - private final File cellFile; - private final Path outdir; - private final ShapeFeaturePreprocess shapePreprocessor; - private final MMLFeaturePreprocess featurePreprocessMML; - private final GeomUtils geomUtils; - private final FeatureIDProvider featureIDProvider; - private final CachedAdditionalDataSources cachedDatasources; - private final Config conf; - private final Driver memoryd = ogr.GetDriverByName("memory"); - private final NodeCache nodeCache; - - private final String cell; - private final String cellWithoutLetter; - private final String cellLetter; - - private final double[] bbox; - - - private final short tyyppi_string_id; - - private final ShapeRetkeilyTagHandler retkeilyTagHandler; - private final ShapeSyvyysTagHandler syvyysTagHandler; - private final MMLTagHandler tagHandlerMML; - private final StringTable stringtable; - - private final Set leftLetters = new HashSet<>( - Arrays.asList("A", "B", "C", "D")); - - private final Set rightLetters = new HashSet<>( - Arrays.asList("E", "F", "G", "H")); - - private final Long2ObjectOpenHashMap nodes = new Long2ObjectOpenHashMap<>(50000); - private final Long2ObjectOpenHashMap ways = new Long2ObjectOpenHashMap<>(5000); - private final Long2ObjectOpenHashMap relations = new Long2ObjectOpenHashMap<>(500); - private CoordinateTransformation srctowgs; - - SingleCellConverter( - File cellFile, - Path outdir, - Config conf, HashMap gridExtents, - MMLFeaturePreprocess featurePreprocessMML, - ShapeFeaturePreprocess shapePreprocessor, - GeomUtils geomUtils, - FeatureIDProvider featureIDProvider, CachedAdditionalDataSources cachedDatasources, NodeCache nodeCache) { - - this.cellFile = cellFile; - this.outdir = outdir; - this.conf = conf; - this.featurePreprocessMML = featurePreprocessMML; - this.shapePreprocessor = shapePreprocessor; - this.geomUtils = geomUtils; - this.featureIDProvider = featureIDProvider; - this.cachedDatasources = cachedDatasources; - this.nodeCache = nodeCache; - - - this.stringtable = new StringTable(); - this.tyyppi_string_id = stringtable.getStringId("tyyppi"); - this.tagHandlerMML = new MMLTagHandler(stringtable); - this.retkeilyTagHandler = new ShapeRetkeilyTagHandler(stringtable); - this.syvyysTagHandler = new ShapeSyvyysTagHandler(stringtable); - - String cellFileName = cellFile.getName(); - cell = cellFileName.substring(cellFileName.lastIndexOf(File.separator) + 1, cellFileName.lastIndexOf(File.separator) + 7); - cellWithoutLetter = cell.substring(0, cell.length() - 1); - cellLetter = cell.substring(cell.length() - 1); - - bbox = gridExtents.get(cell); - this.isValidCell = bbox != null; - logger.info(cellFileName + " (" + cell + " / " + cellWithoutLetter + " / " + cellLetter + "), extent: " + Arrays.toString(bbox)); - - } - - void doConvert() throws IOException { - OSMPBFWriter osmpbWriter = new OSMPBFWriter(outdir.resolve(String.format("%s.osm.pbf", cell)).toFile()); - osmpbWriter.startWritingOSMPBF(); - - DataSource mtkds = readOGRsource(stringtable, startReadingOGRFile("/vsizip/" + cellFile.toString()), featurePreprocessMML, tagHandlerMML, null); - mtkds.delete(); - printCounts(); - - File cellKrkPath = new File(Paths.get(conf.getString("kiinteistorajat"), cell.substring(0, 3)).toString()); - File[] krkFiles = cellKrkPath.listFiles(); - - if (krkFiles != null) { - for (File krkf : krkFiles) { - String krkfn = krkf.getName(); - if (!krkfn.startsWith(cellWithoutLetter)) continue; - String krkCell = krkfn.substring(krkfn.lastIndexOf(File.separator) + 1, krkfn.lastIndexOf(File.separator) + 7); - String krkCellLetter = krkCell.substring(krkCell.length() - 1); - - if ("L".equals(cellLetter) && !leftLetters.contains(krkCellLetter)) continue; - if ("R".equals(cellLetter) && !rightLetters.contains(krkCellLetter)) continue; - - - logger.info("Adding KRK for cell " + cell + " from " + krkCell + " / " + krkCellLetter + "(" + krkf.getAbsolutePath() + ")"); - DataSource krkds = readOGRsource(stringtable, startReadingOGRFile("/vsizip/" + krkf.getAbsolutePath() + "/" + krkCell + "_kiinteistoraja.shp"), shapePreprocessor, tagHandlerMML, bbox); - krkds.delete(); - } - printCounts(); - } else { - logger.warning("No krk exists for " + cell); - } - - cachedDatasources.getDatasources() - .forEach(cachedDatasource -> { - DataSource extds = readOGRsource(stringtable, cachedDatasource, shapePreprocessor, getTagHandlerForDatasource(cachedDatasource), bbox); - extds.delete(); - printCounts(); - }); - - osmpbWriter.writeOSMPBFElements(stringtable, nodes, ways, relations); - osmpbWriter.closeOSMPBFFile(); - } - - private TagHandlerI getTagHandlerForDatasource(DataSource ds) { - switch (ds.GetLayer(0).GetName()) { - case "syvyyskayra_v": - case "syvyyspiste_p": - return syvyysTagHandler; - case "kesaretkeilyreitit": - case "ulkoilureitit": - case "luontopolut": - case "point_dump": - return retkeilyTagHandler; - default: - logger.severe("Unknown cached datasource ds name " + ds.GetLayer(0).GetName()); - return null; - } - } - - private DataSource startReadingOGRFile(String fn) { - System.out.println("Initializing file " + fn); - - DataSource ds = ogr.Open(fn, false); - if (ds == null) { - System.out.println("Reading file " + fn + " failed"); - System.exit(1); - - } - return ds; - } - - - private DataSource readOGRsource(StringTable stringtable, DataSource ods, FeaturePreprocessI featurePreprocess, TagHandlerI tagHandler, - double[] filterExtent) { - - if (ods == null) { - return null; - } - logger.info("Copying " + ods.getName() + " to memory"); - DataSource ds = memoryd.CopyDataSource(ods, "mem_" + ods.getName()); - logger.info("Copying " + ods.getName() + " to memory done!"); - - String attributefilter = featurePreprocess.getAttributeFilterString(); - - HashSet ignored_fields = new HashSet<>(); - - for (int i = 0; i < ds.GetLayerCount(); i++) { - Layer lyr = ds.GetLayer(i); - Vector ignoredFields = new Vector<>(); - - if (filterExtent != null) { - lyr.SetSpatialFilterRect(filterExtent[0], filterExtent[2], filterExtent[1], filterExtent[3]); - } - - if (attributefilter != null) { - lyr.SetAttributeFilter(attributefilter); - } - - FeatureDefn lyrdefn = lyr.GetLayerDefn(); - ArrayList fieldMapping = new ArrayList<>(); - for (int i1 = 0; i1 < lyrdefn.GetFieldCount(); i1++) { - FieldDefn fdefn = lyrdefn.GetFieldDefn(i1); - String fname = fdefn.GetName(); - - if (!tagHandler.getWantedFields().contains(fname)) { - ignoredFields.add(fname); - - } else { - fieldMapping.add(new Field(fname, fdefn.GetFieldType(), i1)); - } - } - - - ignored_fields.addAll(ignoredFields); - if (lyr.TestCapability(ogr.OLCIgnoreFields) && ignoredFields.size() > 0) { - lyr.SetIgnoredFields(ignoredFields); - } - - lyr.ResetReading(); - - AtomicReference breakLayerLoop = new AtomicReference<>(false); - Supplier layerFeatureStream = lyr::GetNextFeature; - - Stream.generate(layerFeatureStream) - .takeWhile(feat -> feat != null && !breakLayerLoop.get()) - .forEach(feat -> { - if (feat == null) { - logger.severe("NULL feature encountered on layer " + lyr.GetName()); - return; - } - if (!this.handleFeature(stringtable, lyr.GetName(), fieldMapping, feat, featurePreprocess, tagHandler)) { - System.out.println("BREAK"); - breakLayerLoop.set(true); - } - }); - if (breakLayerLoop.get()) { - break; - } - } - System.out.println("Ignored fields: " + Arrays.toString(ignored_fields.toArray())); - - return ds; - - } - - private void printCounts() { - System.out.println(nodes.size() + " nodes " + ways.size() + " ways " + relations.size() + " relations"); - } - - private boolean handleFeature(StringTable stringtable, String lyrname, ArrayList fieldMapping, Feature feat, - FeaturePreprocessI featurePreprocess, TagHandlerI tagHandler) { - Short2ObjectOpenHashMap fields = new Short2ObjectOpenHashMap<>(); - Geometry geom; - for (Field f : fieldMapping) { - short fid = stringtable.getStringId(f.getFieldName()); - String fname = feat.GetFieldAsString(f.getFieldIndex()).intern(); - fields.put(fid, fname); - } - - geom = feat.GetGeometryRef(); - - if (geom == null) return true; - - - geom = geom.SimplifyPreserveTopology(0.5); - - if (srctowgs == null) { - SpatialReference sref = geom.GetSpatialReference(); - srctowgs = this.geomUtils.getTransformationToWGS84(sref.ExportToProj4()); - } - - GeomHandlerResult ghr; - - if (geom == null) return true; - - if (geom.GetGeometryCount() < 2) { - if (geom.GetGeometryCount() > 0) { - geom = geom.GetGeometryRef(0); - } - ghr = this.handleSingleGeom(geom); - } else { - ghr = this.handleMultiGeom(stringtable.getStringId("type"), stringtable.getStringId("multipolygon"), geom); - } - double geomarea = geom.Area(); - - geom.delete(); - feat.delete(); - String tyyppi = lyrname.toLowerCase(); - if (tyyppi.endsWith("kiinteistoraja")) tyyppi = "kiinteistoraja"; - - short tyyppi_value_id = stringtable.getStringId(tyyppi); - - for (Node n : ghr.nodes) { - - if (!n.isWaypart()) { - n.addTag(tyyppi_string_id, tyyppi_value_id); - tagHandler.addElementTags(n.nodeTags, fields, tyyppi, geomarea); - } - - if (!nodes.containsKey(n.getHash())) { - nodes.put(n.getHash(), n); - } - } - - for (Way w : ghr.ways) { - if (!w.getRole().equals("inner")) { - w.tags.put(tyyppi_string_id, tyyppi_value_id); - tagHandler.addElementTags(w.tags, fields, tyyppi, geomarea); - } - if (!ways.containsKey(w.getId())) { - ways.put(w.getId(), w); - } - } - - for (Relation r : ghr.relations) { - - r.tags.put(tyyppi_string_id, tyyppi_value_id); - tagHandler.addElementTags(r.tags, fields, tyyppi, geomarea); - if (!relations.containsKey(r.getId())) - relations.put(r.getId(), r); - } - - return true; - - } - - private GeomHandlerResult handleSingleGeom(Geometry geom) { - - GeomHandlerResult ghr = new GeomHandlerResult(); - - if (geom.IsEmpty()) - return ghr; - - boolean ispoint = geom.GetGeometryType() == ogr.wkbPoint || geom.GetGeometryType() == ogr.wkbPoint25D; - - double[][] srcpoints = geom.GetPoints(); - double[][] wgspoints = geom.GetPoints(); - - srctowgs.TransformPoints(wgspoints); - Way w = null; - long wid; - if (!ispoint) { - wid = featureIDProvider.getWayID(); - w = new Way(); - w.id = wid; - } - - for (int i = 0; i < srcpoints.length; i++) { - - long phash = geomUtils.hashCoords(srcpoints[i][0], srcpoints[i][1]); - int pcell = geomUtils.xy2grid(srcpoints[i][0], srcpoints[i][1]); - - if (!nodes.containsKey(phash)) { - nodeCache.ensureGrid(pcell); - - Optional cachedNodeId = nodeCache.getNodeId(pcell,phash); - - long nodeid; - if (cachedNodeId.isPresent()) { - nodeid = cachedNodeId.get(); - } else { - nodeid = featureIDProvider.getNodeID(); - if (this.nodeNearCellBorder(srcpoints[i])) { - nodeCache.addNodeId(pcell, phash, nodeid); - } - } - - Node n = new Node(nodeid, phash, pcell, wgspoints[i][0], wgspoints[i][1], !ispoint); - nodes.put(phash, n); - ghr.nodes.add(n); - if (!ispoint) { - w.refs.add(n.getId()); - } - } else { - Node n = nodes.get(phash); - n.waypart = n.waypart || !ispoint; - ghr.nodes.add(n); - if (!ispoint) { - w.refs.add(n.getId()); - } - } - } - - if (w != null) { - ghr.ways.add(w); - } - - return ghr; - - } - - - private boolean nodeNearCellBorder(double[] srcpoints) { - double dist = this.calculateMinNodeCellBorderDistance(srcpoints[0], srcpoints[1]); - return Math.abs(dist) < 2; - } - - private double calculateMinNodeCellBorderDistance(double x, double y) { - return Math.min(Math.abs(this.bbox[0] - x), - Math.min(Math.abs(this.bbox[2] - y), Math.min(Math.abs(this.bbox[1] - x), Math.abs(this.bbox[3] - y)))); - } - - private GeomHandlerResult handleMultiGeom(short type, short multipolygon, Geometry geom) { - - GeomHandlerResult ighr; - Geometry igeom; - GeomHandlerResult ghr = new GeomHandlerResult(); - - if (!geom.GetGeometryName().equals("POLYGON")) { - for (int i = 0; i < geom.GetGeometryCount(); i++) { - igeom = geom.GetGeometryRef(i); - ighr = this.handleSingleGeom(igeom); - ghr.nodes.addAll(ighr.nodes); - ghr.ways.addAll(ighr.ways); - } - return ghr; - } - - long rid = featureIDProvider.getRelationID(); - Relation r = new Relation(); - r.setId(rid); - r.tags.put(type, multipolygon); - - for (int i = 0; i < geom.GetGeometryCount(); i++) { - igeom = geom.GetGeometryRef(i); - - ighr = this.handleSingleGeom(igeom); - if (ighr.ways.size() == 0) { - return new GeomHandlerResult(); - } - ighr.ways.get(0).setRole((i == 0 ? "outer" : "inner")); - - ghr.nodes.addAll(ighr.nodes); - ghr.ways.addAll(ighr.ways); - - RelationMember rm = new RelationMember(); - - rm.setId(ighr.ways.get(0).getId()); - rm.setType(); - rm.setRole((i == 0 ? "outer" : "inner")); - r.members.add(rm); - } - - ghr.relations.add(r); - return ghr; - - } - - public boolean isValidCell() { - return isValidCell; - } -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/StringTable.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/StringTable.java index 54557ee..9f28219 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/StringTable.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/StringTable.java @@ -1,10 +1,11 @@ package org.hylly.mtk2garmin; +import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2ShortOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectArrayList; class StringTable { - private final Object2ShortOpenHashMap stringTableTranslate = new Object2ShortOpenHashMap<>(); + private final Object2IntOpenHashMap stringTableTranslate = new Object2IntOpenHashMap<>(); private final ObjectArrayList stringTable = new ObjectArrayList<>(); @@ -12,14 +13,14 @@ class StringTable { stringTable.add(""); } - short getStringId(String stringKey) { + int getStringId(String stringKey) { if (!this.stringTableTranslate.containsKey(stringKey)) { - short newIndex = (short) this.stringTable.size(); + int newIndex = this.stringTable.size(); this.stringTableTranslate.put(stringKey, newIndex); this.stringTable.add(newIndex, stringKey); return newIndex; } else { - return this.stringTableTranslate.getShort(stringKey); + return this.stringTableTranslate.getInt(stringKey); } } @@ -28,7 +29,8 @@ short getStringId(String stringKey) { String getStringById(int id) { return this.stringTable.get(id); } - ObjectArrayList getStringTable() { + + ObjectArrayList getStringTable() { return stringTable; } diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandler.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandler.java new file mode 100644 index 0000000..2afb56c --- /dev/null +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandler.java @@ -0,0 +1,10 @@ +package org.hylly.mtk2garmin; + + +import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; + +import java.util.Map; + +interface TagHandler { + void addElementTags(Map tags, Object2ObjectOpenHashMap fields, String tyyppi, double geomarea); +} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandlerI.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandlerI.java deleted file mode 100644 index 5efb785..0000000 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/TagHandlerI.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.hylly.mtk2garmin; - - -import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet; -import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; - -interface TagHandlerI { - - ObjectOpenHashSet getWantedFields(); - void addElementTags(Short2ShortRBTreeMap tags, Short2ObjectOpenHashMap fields, String tyyppi, double geomarea); -} diff --git a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Way.java b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Way.java index ff79c3f..fff767a 100644 --- a/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Way.java +++ b/mtk2garmin-converter/src/main/java/org/hylly/mtk2garmin/Way.java @@ -1,20 +1,11 @@ package org.hylly.mtk2garmin; -import it.unimi.dsi.fastutil.longs.LongArrayList; -import it.unimi.dsi.fastutil.shorts.Short2ShortRBTreeMap; - import java.util.ArrayList; -class Way { - final Short2ShortRBTreeMap tags = new Short2ShortRBTreeMap(); - long id; +class Way extends OSMElementBase { String role = "all"; ArrayList refs = new ArrayList<>(); - Way() { - - } - String getRole() { return role; } @@ -22,12 +13,4 @@ String getRole() { void setRole(String role) { this.role = role; } - - long getId() { - return id; - } - - public Short2ShortRBTreeMap getTags() { - return tags; - } } diff --git a/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Fileformat.java b/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Fileformat.java index 8d26fd6..92b46f4 100644 --- a/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Fileformat.java +++ b/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Fileformat.java @@ -20,48 +20,48 @@ public interface BlobOrBuilder extends /** *
-     * No compression
+     * When compressed, the uncompressed size
      * 
* - * optional bytes raw = 1; - * @return Whether the raw field is set. + * optional int32 raw_size = 2; + * @return Whether the rawSize field is set. */ - boolean hasRaw(); + boolean hasRawSize(); /** *
-     * No compression
+     * When compressed, the uncompressed size
      * 
* - * optional bytes raw = 1; - * @return The raw. + * optional int32 raw_size = 2; + * @return The rawSize. */ - com.google.protobuf.ByteString getRaw(); + int getRawSize(); /** *
-     * When compressed, the uncompressed size
+     * No compression
      * 
* - * optional int32 raw_size = 2; - * @return Whether the rawSize field is set. + * bytes raw = 1; + * @return Whether the raw field is set. */ - boolean hasRawSize(); + boolean hasRaw(); /** *
-     * When compressed, the uncompressed size
+     * No compression
      * 
* - * optional int32 raw_size = 2; - * @return The rawSize. + * bytes raw = 1; + * @return The raw. */ - int getRawSize(); + com.google.protobuf.ByteString getRaw(); /** *
      * Possible compressed versions of the data.
      * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return Whether the zlibData field is set. */ boolean hasZlibData(); @@ -70,53 +70,97 @@ public interface BlobOrBuilder extends * Possible compressed versions of the data. * * - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return The zlibData. */ com.google.protobuf.ByteString getZlibData(); /** *
-     * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+     * For LZMA compressed data (optional)
      * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return Whether the lzmaData field is set. */ boolean hasLzmaData(); /** *
-     * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+     * For LZMA compressed data (optional)
      * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return The lzmaData. */ com.google.protobuf.ByteString getLzmaData(); /** *
-     * Formerly used for bzip2 compressed data. Depreciated in 2010.
+     * Formerly used for bzip2 compressed data. Deprecated in 2010.
      * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return Whether the oBSOLETEBzip2Data field is set. */ - @Deprecated boolean hasOBSOLETEBzip2Data(); + @java.lang.Deprecated boolean hasOBSOLETEBzip2Data(); /** *
-     * Formerly used for bzip2 compressed data. Depreciated in 2010.
+     * Formerly used for bzip2 compressed data. Deprecated in 2010.
      * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return The oBSOLETEBzip2Data. */ - @Deprecated com.google.protobuf.ByteString getOBSOLETEBzip2Data(); + @java.lang.Deprecated com.google.protobuf.ByteString getOBSOLETEBzip2Data(); + + /** + *
+     * For LZ4 compressed data (optional)
+     * 
+ * + * bytes lz4_data = 6; + * @return Whether the lz4Data field is set. + */ + boolean hasLz4Data(); + /** + *
+     * For LZ4 compressed data (optional)
+     * 
+ * + * bytes lz4_data = 6; + * @return The lz4Data. + */ + com.google.protobuf.ByteString getLz4Data(); + + /** + *
+     * For ZSTD compressed data (optional)
+     * 
+ * + * bytes zstd_data = 7; + * @return Whether the zstdData field is set. + */ + boolean hasZstdData(); + /** + *
+     * For ZSTD compressed data (optional)
+     * 
+ * + * bytes zstd_data = 7; + * @return The zstdData. + */ + com.google.protobuf.ByteString getZstdData(); + + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.DataCase getDataCase(); } /** * Protobuf type {@code OSMPBF.Blob} */ - public static final class Blob extends + public static final class Blob extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.Blob) BlobOrBuilder { @@ -126,20 +170,16 @@ private Blob(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Blob() { - raw_ = com.google.protobuf.ByteString.EMPTY; - zlibData_ = com.google.protobuf.ByteString.EMPTY; - lzmaData_ = com.google.protobuf.ByteString.EMPTY; - oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY; } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Blob(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -150,7 +190,7 @@ private Blob( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -164,28 +204,38 @@ private Blob( done = true; break; case 10: { - bitField0_ |= 0x00000001; - raw_ = input.readBytes(); + data_ = input.readBytes(); + dataCase_ = 1; break; } case 16: { - bitField0_ |= 0x00000002; + bitField0_ |= 0x00000001; rawSize_ = input.readInt32(); break; } case 26: { - bitField0_ |= 0x00000004; - zlibData_ = input.readBytes(); + data_ = input.readBytes(); + dataCase_ = 3; break; } case 34: { - bitField0_ |= 0x00000008; - lzmaData_ = input.readBytes(); + data_ = input.readBytes(); + dataCase_ = 4; break; } case 42: { - bitField0_ |= 0x00000010; - oBSOLETEBzip2Data_ = input.readBytes(); + data_ = input.readBytes(); + dataCase_ = 5; + break; + } + case 50: { + data_ = input.readBytes(); + dataCase_ = 6; + break; + } + case 58: { + data_ = input.readBytes(); + dataCase_ = 7; break; } default: { @@ -199,6 +249,8 @@ private Blob( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -209,41 +261,65 @@ private Blob( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return Fileformat.internal_static_OSMPBF_Blob_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_Blob_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return Fileformat.internal_static_OSMPBF_Blob_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_Blob_fieldAccessorTable .ensureFieldAccessorsInitialized( - Fileformat.Blob.class, Fileformat.Blob.Builder.class); + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.class, org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.Builder.class); } private int bitField0_; - public static final int RAW_FIELD_NUMBER = 1; - private com.google.protobuf.ByteString raw_; - /** - *
-     * No compression
-     * 
- * - * optional bytes raw = 1; - * @return Whether the raw field is set. - */ - public boolean hasRaw() { - return ((bitField0_ & 0x00000001) != 0); + private int dataCase_ = 0; + private java.lang.Object data_; + public enum DataCase + implements com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + RAW(1), + ZLIB_DATA(3), + LZMA_DATA(4), + @java.lang.Deprecated OBSOLETE_BZIP2_DATA(5), + LZ4_DATA(6), + ZSTD_DATA(7), + DATA_NOT_SET(0); + private final int value; + DataCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static DataCase valueOf(int value) { + return forNumber(value); + } + + public static DataCase forNumber(int value) { + switch (value) { + case 1: return RAW; + case 3: return ZLIB_DATA; + case 4: return LZMA_DATA; + case 5: return OBSOLETE_BZIP2_DATA; + case 6: return LZ4_DATA; + case 7: return ZSTD_DATA; + case 0: return DATA_NOT_SET; + default: return null; + } + } + public int getNumber() { + return this.value; + } } - /** - *
-     * No compression
-     * 
- * - * optional bytes raw = 1; - * @return The raw. - */ - public com.google.protobuf.ByteString getRaw() { - return raw_; + + public DataCase + getDataCase() { + return DataCase.forNumber( + dataCase_); } public static final int RAW_SIZE_FIELD_NUMBER = 2; @@ -256,8 +332,9 @@ public com.google.protobuf.ByteString getRaw() { * optional int32 raw_size = 2; * @return Whether the rawSize field is set. */ + @java.lang.Override public boolean hasRawSize() { - return ((bitField0_ & 0x00000002) != 0); + return ((bitField0_ & 0x00000001) != 0); } /** *
@@ -267,87 +344,191 @@ public boolean hasRawSize() {
      * optional int32 raw_size = 2;
      * @return The rawSize.
      */
+    @java.lang.Override
     public int getRawSize() {
       return rawSize_;
     }
 
+    public static final int RAW_FIELD_NUMBER = 1;
+    /**
+     * 
+     * No compression
+     * 
+ * + * bytes raw = 1; + * @return Whether the raw field is set. + */ + @java.lang.Override + public boolean hasRaw() { + return dataCase_ == 1; + } + /** + *
+     * No compression
+     * 
+ * + * bytes raw = 1; + * @return The raw. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRaw() { + if (dataCase_ == 1) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; + } + public static final int ZLIB_DATA_FIELD_NUMBER = 3; - private com.google.protobuf.ByteString zlibData_; /** *
      * Possible compressed versions of the data.
      * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return Whether the zlibData field is set. */ + @java.lang.Override public boolean hasZlibData() { - return ((bitField0_ & 0x00000004) != 0); + return dataCase_ == 3; } /** *
      * Possible compressed versions of the data.
      * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return The zlibData. */ + @java.lang.Override public com.google.protobuf.ByteString getZlibData() { - return zlibData_; + if (dataCase_ == 3) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } public static final int LZMA_DATA_FIELD_NUMBER = 4; - private com.google.protobuf.ByteString lzmaData_; /** *
-     * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+     * For LZMA compressed data (optional)
      * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return Whether the lzmaData field is set. */ + @java.lang.Override public boolean hasLzmaData() { - return ((bitField0_ & 0x00000008) != 0); + return dataCase_ == 4; } /** *
-     * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+     * For LZMA compressed data (optional)
      * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return The lzmaData. */ + @java.lang.Override public com.google.protobuf.ByteString getLzmaData() { - return lzmaData_; + if (dataCase_ == 4) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } public static final int OBSOLETE_BZIP2_DATA_FIELD_NUMBER = 5; - private com.google.protobuf.ByteString oBSOLETEBzip2Data_; /** *
-     * Formerly used for bzip2 compressed data. Depreciated in 2010.
+     * Formerly used for bzip2 compressed data. Deprecated in 2010.
      * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return Whether the oBSOLETEBzip2Data field is set. */ - @Deprecated public boolean hasOBSOLETEBzip2Data() { - return ((bitField0_ & 0x00000010) != 0); + @java.lang.Override + @java.lang.Deprecated public boolean hasOBSOLETEBzip2Data() { + return dataCase_ == 5; } /** *
-     * Formerly used for bzip2 compressed data. Depreciated in 2010.
+     * Formerly used for bzip2 compressed data. Deprecated in 2010.
      * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return The oBSOLETEBzip2Data. */ - @Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() { - return oBSOLETEBzip2Data_; + @java.lang.Override + @java.lang.Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() { + if (dataCase_ == 5) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; + } + + public static final int LZ4_DATA_FIELD_NUMBER = 6; + /** + *
+     * For LZ4 compressed data (optional)
+     * 
+ * + * bytes lz4_data = 6; + * @return Whether the lz4Data field is set. + */ + @java.lang.Override + public boolean hasLz4Data() { + return dataCase_ == 6; + } + /** + *
+     * For LZ4 compressed data (optional)
+     * 
+ * + * bytes lz4_data = 6; + * @return The lz4Data. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLz4Data() { + if (dataCase_ == 6) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; + } + + public static final int ZSTD_DATA_FIELD_NUMBER = 7; + /** + *
+     * For ZSTD compressed data (optional)
+     * 
+ * + * bytes zstd_data = 7; + * @return Whether the zstdData field is set. + */ + @java.lang.Override + public boolean hasZstdData() { + return dataCase_ == 7; + } + /** + *
+     * For ZSTD compressed data (optional)
+     * 
+ * + * bytes zstd_data = 7; + * @return The zstdData. + */ + @java.lang.Override + public com.google.protobuf.ByteString getZstdData() { + if (dataCase_ == 7) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -357,192 +538,238 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (((bitField0_ & 0x00000001) != 0)) { - output.writeBytes(1, raw_); + if (dataCase_ == 1) { + output.writeBytes( + 1, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000002) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { output.writeInt32(2, rawSize_); } - if (((bitField0_ & 0x00000004) != 0)) { - output.writeBytes(3, zlibData_); + if (dataCase_ == 3) { + output.writeBytes( + 3, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000008) != 0)) { - output.writeBytes(4, lzmaData_); + if (dataCase_ == 4) { + output.writeBytes( + 4, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000010) != 0)) { - output.writeBytes(5, oBSOLETEBzip2Data_); + if (dataCase_ == 5) { + output.writeBytes( + 5, (com.google.protobuf.ByteString) data_); + } + if (dataCase_ == 6) { + output.writeBytes( + 6, (com.google.protobuf.ByteString) data_); + } + if (dataCase_ == 7) { + output.writeBytes( + 7, (com.google.protobuf.ByteString) data_); } unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; - if (((bitField0_ & 0x00000001) != 0)) { + if (dataCase_ == 1) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(1, raw_); + .computeBytesSize( + 1, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000002) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt32Size(2, rawSize_); } - if (((bitField0_ & 0x00000004) != 0)) { + if (dataCase_ == 3) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(3, zlibData_); + .computeBytesSize( + 3, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000008) != 0)) { + if (dataCase_ == 4) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(4, lzmaData_); + .computeBytesSize( + 4, (com.google.protobuf.ByteString) data_); } - if (((bitField0_ & 0x00000010) != 0)) { + if (dataCase_ == 5) { size += com.google.protobuf.CodedOutputStream - .computeBytesSize(5, oBSOLETEBzip2Data_); + .computeBytesSize( + 5, (com.google.protobuf.ByteString) data_); + } + if (dataCase_ == 6) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize( + 6, (com.google.protobuf.ByteString) data_); + } + if (dataCase_ == 7) { + size += com.google.protobuf.CodedOutputStream + .computeBytesSize( + 7, (com.google.protobuf.ByteString) data_); } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof Fileformat.Blob)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Fileformat.Blob)) { return super.equals(obj); } - Fileformat.Blob other = (Fileformat.Blob) obj; + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob other = (org.openstreetmap.osmosis.osmbinary.Fileformat.Blob) obj; - if (hasRaw() != other.hasRaw()) return false; - if (hasRaw()) { - if (!getRaw() - .equals(other.getRaw())) return false; - } if (hasRawSize() != other.hasRawSize()) return false; if (hasRawSize()) { if (getRawSize() != other.getRawSize()) return false; } - if (hasZlibData() != other.hasZlibData()) return false; - if (hasZlibData()) { - if (!getZlibData() - .equals(other.getZlibData())) return false; - } - if (hasLzmaData() != other.hasLzmaData()) return false; - if (hasLzmaData()) { - if (!getLzmaData() - .equals(other.getLzmaData())) return false; - } - if (hasOBSOLETEBzip2Data() != other.hasOBSOLETEBzip2Data()) return false; - if (hasOBSOLETEBzip2Data()) { - if (!getOBSOLETEBzip2Data() - .equals(other.getOBSOLETEBzip2Data())) return false; - } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; - } - - @Override + if (!getDataCase().equals(other.getDataCase())) return false; + switch (dataCase_) { + case 1: + if (!getRaw() + .equals(other.getRaw())) return false; + break; + case 3: + if (!getZlibData() + .equals(other.getZlibData())) return false; + break; + case 4: + if (!getLzmaData() + .equals(other.getLzmaData())) return false; + break; + case 5: + if (!getOBSOLETEBzip2Data() + .equals(other.getOBSOLETEBzip2Data())) return false; + break; + case 6: + if (!getLz4Data() + .equals(other.getLz4Data())) return false; + break; + case 7: + if (!getZstdData() + .equals(other.getZstdData())) return false; + break; + case 0: + default: + } + return unknownFields.equals(other.unknownFields); + } + + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - if (hasRaw()) { - hash = (37 * hash) + RAW_FIELD_NUMBER; - hash = (53 * hash) + getRaw().hashCode(); - } if (hasRawSize()) { hash = (37 * hash) + RAW_SIZE_FIELD_NUMBER; hash = (53 * hash) + getRawSize(); } - if (hasZlibData()) { - hash = (37 * hash) + ZLIB_DATA_FIELD_NUMBER; - hash = (53 * hash) + getZlibData().hashCode(); - } - if (hasLzmaData()) { - hash = (37 * hash) + LZMA_DATA_FIELD_NUMBER; - hash = (53 * hash) + getLzmaData().hashCode(); - } - if (hasOBSOLETEBzip2Data()) { - hash = (37 * hash) + OBSOLETE_BZIP2_DATA_FIELD_NUMBER; - hash = (53 * hash) + getOBSOLETEBzip2Data().hashCode(); + switch (dataCase_) { + case 1: + hash = (37 * hash) + RAW_FIELD_NUMBER; + hash = (53 * hash) + getRaw().hashCode(); + break; + case 3: + hash = (37 * hash) + ZLIB_DATA_FIELD_NUMBER; + hash = (53 * hash) + getZlibData().hashCode(); + break; + case 4: + hash = (37 * hash) + LZMA_DATA_FIELD_NUMBER; + hash = (53 * hash) + getLzmaData().hashCode(); + break; + case 5: + hash = (37 * hash) + OBSOLETE_BZIP2_DATA_FIELD_NUMBER; + hash = (53 * hash) + getOBSOLETEBzip2Data().hashCode(); + break; + case 6: + hash = (37 * hash) + LZ4_DATA_FIELD_NUMBER; + hash = (53 * hash) + getLz4Data().hashCode(); + break; + case 7: + hash = (37 * hash) + ZSTD_DATA_FIELD_NUMBER; + hash = (53 * hash) + getZstdData().hashCode(); + break; + case 0: + default: } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.Blob parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.Blob parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob 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 Fileformat.Blob parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static Fileformat.Blob parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob 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 Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Fileformat.Blob parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -550,23 +777,23 @@ public static Fileformat.Blob parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(Fileformat.Blob prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Fileformat.Blob prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -576,27 +803,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.Blob) - Fileformat.BlobOrBuilder { + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return Fileformat.internal_static_OSMPBF_Blob_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_Blob_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return Fileformat.internal_static_OSMPBF_Blob_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_Blob_fieldAccessorTable .ensureFieldAccessorsInitialized( - Fileformat.Blob.class, Fileformat.Blob.Builder.class); + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.class, org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.Builder.class); } - // Construct using Fileformat.Blob.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -605,151 +832,165 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); - raw_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000001); rawSize_ = 0; - bitField0_ = (bitField0_ & ~0x00000002); - zlibData_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000004); - lzmaData_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000008); - oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000001); + dataCase_ = 0; + data_ = null; return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return Fileformat.internal_static_OSMPBF_Blob_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_Blob_descriptor; } - @Override - public Fileformat.Blob getDefaultInstanceForType() { - return Fileformat.Blob.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.Blob getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.getDefaultInstance(); } - @Override - public Fileformat.Blob build() { - Fileformat.Blob result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.Blob build() { + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public Fileformat.Blob buildPartial() { - Fileformat.Blob result = new Fileformat.Blob(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.Blob buildPartial() { + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob result = new org.openstreetmap.osmosis.osmbinary.Fileformat.Blob(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { + result.rawSize_ = rawSize_; to_bitField0_ |= 0x00000001; } - result.raw_ = raw_; - if (((from_bitField0_ & 0x00000002) != 0)) { - result.rawSize_ = rawSize_; - to_bitField0_ |= 0x00000002; + if (dataCase_ == 1) { + result.data_ = data_; } - if (((from_bitField0_ & 0x00000004) != 0)) { - to_bitField0_ |= 0x00000004; + if (dataCase_ == 3) { + result.data_ = data_; + } + if (dataCase_ == 4) { + result.data_ = data_; } - result.zlibData_ = zlibData_; - if (((from_bitField0_ & 0x00000008) != 0)) { - to_bitField0_ |= 0x00000008; + if (dataCase_ == 5) { + result.data_ = data_; } - result.lzmaData_ = lzmaData_; - if (((from_bitField0_ & 0x00000010) != 0)) { - to_bitField0_ |= 0x00000010; + if (dataCase_ == 6) { + result.data_ = data_; + } + if (dataCase_ == 7) { + result.data_ = data_; } - result.oBSOLETEBzip2Data_ = oBSOLETEBzip2Data_; result.bitField0_ = to_bitField0_; + result.dataCase_ = dataCase_; onBuilt(); return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof Fileformat.Blob) { - return mergeFrom((Fileformat.Blob)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Fileformat.Blob) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Fileformat.Blob)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(Fileformat.Blob other) { - if (other == Fileformat.Blob.getDefaultInstance()) return this; - if (other.hasRaw()) { - setRaw(other.getRaw()); - } + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Fileformat.Blob other) { + if (other == org.openstreetmap.osmosis.osmbinary.Fileformat.Blob.getDefaultInstance()) return this; if (other.hasRawSize()) { setRawSize(other.getRawSize()); } - if (other.hasZlibData()) { - setZlibData(other.getZlibData()); - } - if (other.hasLzmaData()) { - setLzmaData(other.getLzmaData()); - } - if (other.hasOBSOLETEBzip2Data()) { - setOBSOLETEBzip2Data(other.getOBSOLETEBzip2Data()); + switch (other.getDataCase()) { + case RAW: { + setRaw(other.getRaw()); + break; + } + case ZLIB_DATA: { + setZlibData(other.getZlibData()); + break; + } + case LZMA_DATA: { + setLzmaData(other.getLzmaData()); + break; + } + case OBSOLETE_BZIP2_DATA: { + setOBSOLETEBzip2Data(other.getOBSOLETEBzip2Data()); + break; + } + case LZ4_DATA: { + setLz4Data(other.getLz4Data()); + break; + } + case ZSTD_DATA: { + setZstdData(other.getZstdData()); + break; + } + case DATA_NOT_SET: { + break; + } } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } - @Override + @java.lang.Override public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - Fileformat.Blob parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Fileformat.Blob parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (Fileformat.Blob) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Fileformat.Blob) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -758,146 +999,169 @@ public Builder mergeFrom( } return this; } + private int dataCase_ = 0; + private java.lang.Object data_; + public DataCase + getDataCase() { + return DataCase.forNumber( + dataCase_); + } + + public Builder clearData() { + dataCase_ = 0; + data_ = null; + onChanged(); + return this; + } + private int bitField0_; - private com.google.protobuf.ByteString raw_ = com.google.protobuf.ByteString.EMPTY; + private int rawSize_ ; /** *
-       * No compression
+       * When compressed, the uncompressed size
        * 
* - * optional bytes raw = 1; - * @return Whether the raw field is set. + * optional int32 raw_size = 2; + * @return Whether the rawSize field is set. */ - public boolean hasRaw() { + @java.lang.Override + public boolean hasRawSize() { return ((bitField0_ & 0x00000001) != 0); } /** *
-       * No compression
+       * When compressed, the uncompressed size
        * 
* - * optional bytes raw = 1; - * @return The raw. + * optional int32 raw_size = 2; + * @return The rawSize. */ - public com.google.protobuf.ByteString getRaw() { - return raw_; + @java.lang.Override + public int getRawSize() { + return rawSize_; } /** *
-       * No compression
+       * When compressed, the uncompressed size
        * 
* - * optional bytes raw = 1; - * @param value The raw to set. + * optional int32 raw_size = 2; + * @param value The rawSize to set. * @return This builder for chaining. */ - public Builder setRaw(com.google.protobuf.ByteString value) { - if (value == null) { - throw new NullPointerException(); - } - bitField0_ |= 0x00000001; - raw_ = value; + public Builder setRawSize(int value) { + bitField0_ |= 0x00000001; + rawSize_ = value; onChanged(); return this; } /** *
-       * No compression
+       * When compressed, the uncompressed size
        * 
* - * optional bytes raw = 1; + * optional int32 raw_size = 2; * @return This builder for chaining. */ - public Builder clearRaw() { + public Builder clearRawSize() { bitField0_ = (bitField0_ & ~0x00000001); - raw_ = getDefaultInstance().getRaw(); + rawSize_ = 0; onChanged(); return this; } - private int rawSize_ ; /** *
-       * When compressed, the uncompressed size
+       * No compression
        * 
* - * optional int32 raw_size = 2; - * @return Whether the rawSize field is set. + * bytes raw = 1; + * @return Whether the raw field is set. */ - public boolean hasRawSize() { - return ((bitField0_ & 0x00000002) != 0); + public boolean hasRaw() { + return dataCase_ == 1; } /** *
-       * When compressed, the uncompressed size
+       * No compression
        * 
* - * optional int32 raw_size = 2; - * @return The rawSize. + * bytes raw = 1; + * @return The raw. */ - public int getRawSize() { - return rawSize_; + public com.google.protobuf.ByteString getRaw() { + if (dataCase_ == 1) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } /** *
-       * When compressed, the uncompressed size
+       * No compression
        * 
* - * optional int32 raw_size = 2; - * @param value The rawSize to set. + * bytes raw = 1; + * @param value The raw to set. * @return This builder for chaining. */ - public Builder setRawSize(int value) { - bitField0_ |= 0x00000002; - rawSize_ = value; + public Builder setRaw(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + dataCase_ = 1; + data_ = value; onChanged(); return this; } /** *
-       * When compressed, the uncompressed size
+       * No compression
        * 
* - * optional int32 raw_size = 2; + * bytes raw = 1; * @return This builder for chaining. */ - public Builder clearRawSize() { - bitField0_ = (bitField0_ & ~0x00000002); - rawSize_ = 0; - onChanged(); + public Builder clearRaw() { + if (dataCase_ == 1) { + dataCase_ = 0; + data_ = null; + onChanged(); + } return this; } - private com.google.protobuf.ByteString zlibData_ = com.google.protobuf.ByteString.EMPTY; /** *
        * Possible compressed versions of the data.
        * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return Whether the zlibData field is set. */ public boolean hasZlibData() { - return ((bitField0_ & 0x00000004) != 0); + return dataCase_ == 3; } /** *
        * Possible compressed versions of the data.
        * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return The zlibData. */ public com.google.protobuf.ByteString getZlibData() { - return zlibData_; + if (dataCase_ == 3) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } /** *
        * Possible compressed versions of the data.
        * 
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @param value The zlibData to set. * @return This builder for chaining. */ @@ -905,8 +1169,8 @@ public Builder setZlibData(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000004; - zlibData_ = value; + dataCase_ = 3; + data_ = value; onChanged(); return this; } @@ -915,45 +1179,49 @@ public Builder setZlibData(com.google.protobuf.ByteString value) { * Possible compressed versions of the data. *
* - * optional bytes zlib_data = 3; + * bytes zlib_data = 3; * @return This builder for chaining. */ public Builder clearZlibData() { - bitField0_ = (bitField0_ & ~0x00000004); - zlibData_ = getDefaultInstance().getZlibData(); - onChanged(); + if (dataCase_ == 3) { + dataCase_ = 0; + data_ = null; + onChanged(); + } return this; } - private com.google.protobuf.ByteString lzmaData_ = com.google.protobuf.ByteString.EMPTY; /** *
-       * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+       * For LZMA compressed data (optional)
        * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return Whether the lzmaData field is set. */ public boolean hasLzmaData() { - return ((bitField0_ & 0x00000008) != 0); + return dataCase_ == 4; } /** *
-       * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+       * For LZMA compressed data (optional)
        * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return The lzmaData. */ public com.google.protobuf.ByteString getLzmaData() { - return lzmaData_; + if (dataCase_ == 4) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } /** *
-       * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+       * For LZMA compressed data (optional)
        * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @param value The lzmaData to set. * @return This builder for chaining. */ @@ -961,88 +1229,222 @@ public Builder setLzmaData(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; - lzmaData_ = value; + dataCase_ = 4; + data_ = value; onChanged(); return this; } /** *
-       * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
+       * For LZMA compressed data (optional)
        * 
* - * optional bytes lzma_data = 4; + * bytes lzma_data = 4; * @return This builder for chaining. */ public Builder clearLzmaData() { - bitField0_ = (bitField0_ & ~0x00000008); - lzmaData_ = getDefaultInstance().getLzmaData(); - onChanged(); + if (dataCase_ == 4) { + dataCase_ = 0; + data_ = null; + onChanged(); + } return this; } - private com.google.protobuf.ByteString oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY; /** *
-       * Formerly used for bzip2 compressed data. Depreciated in 2010.
+       * Formerly used for bzip2 compressed data. Deprecated in 2010.
        * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return Whether the oBSOLETEBzip2Data field is set. */ - @Deprecated public boolean hasOBSOLETEBzip2Data() { - return ((bitField0_ & 0x00000010) != 0); + @java.lang.Deprecated public boolean hasOBSOLETEBzip2Data() { + return dataCase_ == 5; } /** *
-       * Formerly used for bzip2 compressed data. Depreciated in 2010.
+       * Formerly used for bzip2 compressed data. Deprecated in 2010.
        * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @return The oBSOLETEBzip2Data. */ - @Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() { - return oBSOLETEBzip2Data_; + @java.lang.Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() { + if (dataCase_ == 5) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; } /** *
-       * Formerly used for bzip2 compressed data. Depreciated in 2010.
+       * Formerly used for bzip2 compressed data. Deprecated in 2010.
        * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 * @param value The oBSOLETEBzip2Data to set. * @return This builder for chaining. */ - @Deprecated public Builder setOBSOLETEBzip2Data(com.google.protobuf.ByteString value) { + @java.lang.Deprecated public Builder setOBSOLETEBzip2Data(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + dataCase_ = 5; + data_ = value; + onChanged(); + return this; + } + /** + *
+       * Formerly used for bzip2 compressed data. Deprecated in 2010.
+       * 
+ * + * bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * @deprecated OSMPBF.Blob.OBSOLETE_bzip2_data is deprecated. + * See fileformat.proto;l=47 + * @return This builder for chaining. + */ + @java.lang.Deprecated public Builder clearOBSOLETEBzip2Data() { + if (dataCase_ == 5) { + dataCase_ = 0; + data_ = null; + onChanged(); + } + return this; + } + + /** + *
+       * For LZ4 compressed data (optional)
+       * 
+ * + * bytes lz4_data = 6; + * @return Whether the lz4Data field is set. + */ + public boolean hasLz4Data() { + return dataCase_ == 6; + } + /** + *
+       * For LZ4 compressed data (optional)
+       * 
+ * + * bytes lz4_data = 6; + * @return The lz4Data. + */ + public com.google.protobuf.ByteString getLz4Data() { + if (dataCase_ == 6) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; + } + /** + *
+       * For LZ4 compressed data (optional)
+       * 
+ * + * bytes lz4_data = 6; + * @param value The lz4Data to set. + * @return This builder for chaining. + */ + public Builder setLz4Data(com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; - oBSOLETEBzip2Data_ = value; + dataCase_ = 6; + data_ = value; onChanged(); return this; } /** *
-       * Formerly used for bzip2 compressed data. Depreciated in 2010.
+       * For LZ4 compressed data (optional)
+       * 
+ * + * bytes lz4_data = 6; + * @return This builder for chaining. + */ + public Builder clearLz4Data() { + if (dataCase_ == 6) { + dataCase_ = 0; + data_ = null; + onChanged(); + } + return this; + } + + /** + *
+       * For ZSTD compressed data (optional)
+       * 
+ * + * bytes zstd_data = 7; + * @return Whether the zstdData field is set. + */ + public boolean hasZstdData() { + return dataCase_ == 7; + } + /** + *
+       * For ZSTD compressed data (optional)
+       * 
+ * + * bytes zstd_data = 7; + * @return The zstdData. + */ + public com.google.protobuf.ByteString getZstdData() { + if (dataCase_ == 7) { + return (com.google.protobuf.ByteString) data_; + } + return com.google.protobuf.ByteString.EMPTY; + } + /** + *
+       * For ZSTD compressed data (optional)
        * 
* - * optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true]; + * bytes zstd_data = 7; + * @param value The zstdData to set. * @return This builder for chaining. */ - @Deprecated public Builder clearOBSOLETEBzip2Data() { - bitField0_ = (bitField0_ & ~0x00000010); - oBSOLETEBzip2Data_ = getDefaultInstance().getOBSOLETEBzip2Data(); + public Builder setZstdData(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + dataCase_ = 7; + data_ = value; onChanged(); return this; } - @Override + /** + *
+       * For ZSTD compressed data (optional)
+       * 
+ * + * bytes zstd_data = 7; + * @return This builder for chaining. + */ + public Builder clearZstdData() { + if (dataCase_ == 7) { + dataCase_ = 0; + data_ = null; + onChanged(); + } + return this; + } + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -1053,18 +1455,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.Blob) - private static final Fileformat.Blob DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Fileformat.Blob DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new Fileformat.Blob(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Fileformat.Blob(); } - public static Fileformat.Blob getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Fileformat.Blob getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public Blob parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -1077,13 +1479,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public Fileformat.Blob getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.Blob getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -1102,7 +1504,7 @@ public interface BlobHeaderOrBuilder extends * required string type = 1; * @return The type. */ - String getType(); + java.lang.String getType(); /** * required string type = 1; * @return The bytes for type. @@ -1135,7 +1537,7 @@ public interface BlobHeaderOrBuilder extends /** * Protobuf type {@code OSMPBF.BlobHeader} */ - public static final class BlobHeader extends + public static final class BlobHeader extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.BlobHeader) BlobHeaderOrBuilder { @@ -1149,14 +1551,14 @@ private BlobHeader() { indexdata_ = com.google.protobuf.ByteString.EMPTY; } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new BlobHeader(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -1167,7 +1569,7 @@ private BlobHeader( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -1207,6 +1609,8 @@ private BlobHeader( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -1217,24 +1621,25 @@ private BlobHeader( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return Fileformat.internal_static_OSMPBF_BlobHeader_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_BlobHeader_fieldAccessorTable .ensureFieldAccessorsInitialized( - Fileformat.BlobHeader.class, Fileformat.BlobHeader.Builder.class); + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.class, org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.Builder.class); } private int bitField0_; public static final int TYPE_FIELD_NUMBER = 1; - private volatile Object type_; + private volatile java.lang.Object type_; /** * required string type = 1; * @return Whether the type field is set. */ + @java.lang.Override public boolean hasType() { return ((bitField0_ & 0x00000001) != 0); } @@ -1242,14 +1647,15 @@ public boolean hasType() { * required string type = 1; * @return The type. */ - public String getType() { - Object ref = type_; - if (ref instanceof String) { - return (String) ref; + @java.lang.Override + public java.lang.String getType() { + java.lang.Object ref = type_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { type_ = s; } @@ -1260,13 +1666,14 @@ public String getType() { * required string type = 1; * @return The bytes for type. */ + @java.lang.Override public com.google.protobuf.ByteString getTypeBytes() { - Object ref = type_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = + java.lang.Object ref = type_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); type_ = b; return b; } else { @@ -1280,6 +1687,7 @@ public String getType() { * optional bytes indexdata = 2; * @return Whether the indexdata field is set. */ + @java.lang.Override public boolean hasIndexdata() { return ((bitField0_ & 0x00000002) != 0); } @@ -1287,6 +1695,7 @@ public boolean hasIndexdata() { * optional bytes indexdata = 2; * @return The indexdata. */ + @java.lang.Override public com.google.protobuf.ByteString getIndexdata() { return indexdata_; } @@ -1297,6 +1706,7 @@ public com.google.protobuf.ByteString getIndexdata() { * required int32 datasize = 3; * @return Whether the datasize field is set. */ + @java.lang.Override public boolean hasDatasize() { return ((bitField0_ & 0x00000004) != 0); } @@ -1304,12 +1714,13 @@ public boolean hasDatasize() { * required int32 datasize = 3; * @return The datasize. */ + @java.lang.Override public int getDatasize() { return datasize_; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -1327,7 +1738,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -1342,7 +1753,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -1364,15 +1775,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof Fileformat.BlobHeader)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader)) { return super.equals(obj); } - Fileformat.BlobHeader other = (Fileformat.BlobHeader) obj; + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader other = (org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader) obj; if (hasType() != other.hasType()) return false; if (hasType()) { @@ -1389,11 +1800,10 @@ public boolean equals(final Object obj) { if (getDatasize() != other.getDatasize()) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -1417,69 +1827,69 @@ public int hashCode() { return hash; } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.BlobHeader parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Fileformat.BlobHeader parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader 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 Fileformat.BlobHeader parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static Fileformat.BlobHeader parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader 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 Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Fileformat.BlobHeader parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -1487,23 +1897,23 @@ public static Fileformat.BlobHeader parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(Fileformat.BlobHeader prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -1513,27 +1923,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.BlobHeader) - Fileformat.BlobHeaderOrBuilder { + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeaderOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return Fileformat.internal_static_OSMPBF_BlobHeader_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_BlobHeader_fieldAccessorTable .ensureFieldAccessorsInitialized( - Fileformat.BlobHeader.class, Fileformat.BlobHeader.Builder.class); + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.class, org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.Builder.class); } - // Construct using Fileformat.BlobHeader.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -1542,7 +1952,7 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); type_ = ""; @@ -1554,29 +1964,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; + return org.openstreetmap.osmosis.osmbinary.Fileformat.internal_static_OSMPBF_BlobHeader_descriptor; } - @Override - public Fileformat.BlobHeader getDefaultInstanceForType() { - return Fileformat.BlobHeader.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.getDefaultInstance(); } - @Override - public Fileformat.BlobHeader build() { - Fileformat.BlobHeader result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader build() { + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public Fileformat.BlobHeader buildPartial() { - Fileformat.BlobHeader result = new Fileformat.BlobHeader(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader buildPartial() { + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader result = new org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -1596,50 +2006,50 @@ public Fileformat.BlobHeader buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof Fileformat.BlobHeader) { - return mergeFrom((Fileformat.BlobHeader)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(Fileformat.BlobHeader other) { - if (other == Fileformat.BlobHeader.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader other) { + if (other == org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader.getDefaultInstance()) return this; if (other.hasType()) { bitField0_ |= 0x00000001; type_ = other.type_; @@ -1656,27 +2066,24 @@ public Builder mergeFrom(Fileformat.BlobHeader other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { if (!hasType()) { return false; } - if (!hasDatasize()) { - return false; - } - return true; + return hasDatasize(); } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - Fileformat.BlobHeader parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (Fileformat.BlobHeader) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -1687,7 +2094,7 @@ public Builder mergeFrom( } private int bitField0_; - private Object type_ = ""; + private java.lang.Object type_ = ""; /** * required string type = 1; * @return Whether the type field is set. @@ -1699,18 +2106,18 @@ public boolean hasType() { * required string type = 1; * @return The type. */ - public String getType() { - Object ref = type_; - if (!(ref instanceof String)) { + public java.lang.String getType() { + java.lang.Object ref = type_; + if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { type_ = s; } return s; } else { - return (String) ref; + return (java.lang.String) ref; } } /** @@ -1719,11 +2126,11 @@ public String getType() { */ public com.google.protobuf.ByteString getTypeBytes() { - Object ref = type_; + java.lang.Object ref = type_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); type_ = b; return b; } else { @@ -1736,7 +2143,7 @@ public String getType() { * @return This builder for chaining. */ public Builder setType( - String value) { + java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1776,6 +2183,7 @@ public Builder setTypeBytes( * optional bytes indexdata = 2; * @return Whether the indexdata field is set. */ + @java.lang.Override public boolean hasIndexdata() { return ((bitField0_ & 0x00000002) != 0); } @@ -1783,6 +2191,7 @@ public boolean hasIndexdata() { * optional bytes indexdata = 2; * @return The indexdata. */ + @java.lang.Override public com.google.protobuf.ByteString getIndexdata() { return indexdata_; } @@ -1816,6 +2225,7 @@ public Builder clearIndexdata() { * required int32 datasize = 3; * @return Whether the datasize field is set. */ + @java.lang.Override public boolean hasDatasize() { return ((bitField0_ & 0x00000004) != 0); } @@ -1823,6 +2233,7 @@ public boolean hasDatasize() { * required int32 datasize = 3; * @return The datasize. */ + @java.lang.Override public int getDatasize() { return datasize_; } @@ -1847,13 +2258,13 @@ public Builder clearDatasize() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -1864,18 +2275,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.BlobHeader) - private static final Fileformat.BlobHeader DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new Fileformat.BlobHeader(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader(); } - public static Fileformat.BlobHeader getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public BlobHeader parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -1888,13 +2299,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public Fileformat.BlobHeader getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Fileformat.BlobHeader getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -1902,12 +2313,12 @@ public Fileformat.BlobHeader getDefaultInstanceForType() { private static final com.google.protobuf.Descriptors.Descriptor internal_static_OSMPBF_Blob_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_OSMPBF_Blob_fieldAccessorTable; private static final com.google.protobuf.Descriptors.Descriptor internal_static_OSMPBF_BlobHeader_descriptor; - private static final + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_OSMPBF_BlobHeader_fieldAccessorTable; @@ -1915,16 +2326,17 @@ public Fileformat.BlobHeader getDefaultInstanceForType() { getDescriptor() { return descriptor; } - private static com.google.protobuf.Descriptors.FileDescriptor + private static final com.google.protobuf.Descriptors.FileDescriptor descriptor; static { - String[] descriptorData = { - "\n\020fileformat.proto\022\006OSMPBF\"l\n\004Blob\022\013\n\003ra" + - "w\030\001 \001(\014\022\020\n\010raw_size\030\002 \001(\005\022\021\n\tzlib_data\030\003" + - " \001(\014\022\021\n\tlzma_data\030\004 \001(\014\022\037\n\023OBSOLETE_bzip" + - "2_data\030\005 \001(\014B\002\030\001\"?\n\nBlobHeader\022\014\n\004type\030\001" + - " \002(\t\022\021\n\tindexdata\030\002 \001(\014\022\020\n\010datasize\030\003 \002(" + - "\005B\021\n\rcrosby.binaryH\003" + java.lang.String[] descriptorData = { + "\n\020fileformat.proto\022\006OSMPBF\"\245\001\n\004Blob\022\020\n\010r" + + "aw_size\030\002 \001(\005\022\r\n\003raw\030\001 \001(\014H\000\022\023\n\tzlib_dat" + + "a\030\003 \001(\014H\000\022\023\n\tlzma_data\030\004 \001(\014H\000\022!\n\023OBSOLE" + + "TE_bzip2_data\030\005 \001(\014B\002\030\001H\000\022\022\n\010lz4_data\030\006 " + + "\001(\014H\000\022\023\n\tzstd_data\030\007 \001(\014H\000B\006\n\004data\"?\n\nBl" + + "obHeader\022\014\n\004type\030\001 \002(\t\022\021\n\tindexdata\030\002 \001(" + + "\014\022\020\n\010datasize\030\003 \002(\005B\017\n\rorg.openstreetmap.osmosis.osmbinary" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor .internalBuildGeneratedFileFrom(descriptorData, @@ -1935,13 +2347,13 @@ public Fileformat.BlobHeader getDefaultInstanceForType() { internal_static_OSMPBF_Blob_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_OSMPBF_Blob_descriptor, - new String[] { "Raw", "RawSize", "ZlibData", "LzmaData", "OBSOLETEBzip2Data", }); + new java.lang.String[] { "RawSize", "Raw", "ZlibData", "LzmaData", "OBSOLETEBzip2Data", "Lz4Data", "ZstdData", "Data", }); internal_static_OSMPBF_BlobHeader_descriptor = getDescriptor().getMessageTypes().get(1); internal_static_OSMPBF_BlobHeader_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_OSMPBF_BlobHeader_descriptor, - new String[] { "Type", "Indexdata", "Datasize", }); + new java.lang.String[] { "Type", "Indexdata", "Datasize", }); } // @@protoc_insertion_point(outer_class_scope) diff --git a/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Osmformat.java b/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Osmformat.java index bc3ee63..87e1098 100644 --- a/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Osmformat.java +++ b/mtk2garmin-converter/src/main/java/org/openstreetmap/osmosis/osmbinary/Osmformat.java @@ -1,5 +1,5 @@ // Generated by the protocol buffer compiler. DO NOT EDIT! -// source: proto +// source: osmformat.proto package org.openstreetmap.osmosis.osmbinary; @@ -27,25 +27,25 @@ public interface HeaderBlockOrBuilder extends * optional .OSMPBF.HeaderBBox bbox = 1; * @return The bbox. */ - HeaderBBox getBbox(); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getBbox(); /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - HeaderBBoxOrBuilder getBboxOrBuilder(); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder(); /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; * @return A list containing the requiredFeatures. */ - java.util.List + java.util.List getRequiredFeaturesList(); /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; @@ -54,17 +54,17 @@ public interface HeaderBlockOrBuilder extends int getRequiredFeaturesCount(); /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; * @param index The index of the element to return. * @return The requiredFeatures at the given index. */ - String getRequiredFeatures(int index); + java.lang.String getRequiredFeatures(int index); /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; @@ -78,7 +78,7 @@ public interface HeaderBlockOrBuilder extends * repeated string optional_features = 5; * @return A list containing the optionalFeatures. */ - java.util.List + java.util.List getOptionalFeaturesList(); /** * repeated string optional_features = 5; @@ -90,7 +90,7 @@ public interface HeaderBlockOrBuilder extends * @param index The index of the element to return. * @return The optionalFeatures at the given index. */ - String getOptionalFeatures(int index); + java.lang.String getOptionalFeatures(int index); /** * repeated string optional_features = 5; * @param index The index of the value to return. @@ -108,7 +108,7 @@ public interface HeaderBlockOrBuilder extends * optional string writingprogram = 16; * @return The writingprogram. */ - String getWritingprogram(); + java.lang.String getWritingprogram(); /** * optional string writingprogram = 16; * @return The bytes for writingprogram. @@ -133,7 +133,7 @@ public interface HeaderBlockOrBuilder extends * optional string source = 17; * @return The source. */ - String getSource(); + java.lang.String getSource(); /** *
      * From the bbox field.
@@ -147,9 +147,9 @@ public interface HeaderBlockOrBuilder extends
 
     /**
      * 
-     * replication timestamp, expressed in seconds since the epoch, 
+     * Replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
-     * in the state.txt file used by Osmosis
+     * in the state.txt file used by Osmosis.
      * 
* * optional int64 osmosis_replication_timestamp = 32; @@ -158,9 +158,9 @@ public interface HeaderBlockOrBuilder extends boolean hasOsmosisReplicationTimestamp(); /** *
-     * replication timestamp, expressed in seconds since the epoch, 
+     * Replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
-     * in the state.txt file used by Osmosis
+     * in the state.txt file used by Osmosis.
      * 
* * optional int64 osmosis_replication_timestamp = 32; @@ -170,7 +170,7 @@ public interface HeaderBlockOrBuilder extends /** *
-     * replication sequence number (sequenceNumber in state.txt)
+     * Replication sequence number (sequenceNumber in state.txt).
      * 
* * optional int64 osmosis_replication_sequence_number = 33; @@ -179,7 +179,7 @@ public interface HeaderBlockOrBuilder extends boolean hasOsmosisReplicationSequenceNumber(); /** *
-     * replication sequence number (sequenceNumber in state.txt)
+     * Replication sequence number (sequenceNumber in state.txt).
      * 
* * optional int64 osmosis_replication_sequence_number = 33; @@ -189,7 +189,7 @@ public interface HeaderBlockOrBuilder extends /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; @@ -198,16 +198,16 @@ public interface HeaderBlockOrBuilder extends boolean hasOsmosisReplicationBaseUrl(); /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; * @return The osmosisReplicationBaseUrl. */ - String getOsmosisReplicationBaseUrl(); + java.lang.String getOsmosisReplicationBaseUrl(); /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; @@ -219,7 +219,7 @@ public interface HeaderBlockOrBuilder extends /** * Protobuf type {@code OSMPBF.HeaderBlock} */ - public static final class HeaderBlock extends + public static final class HeaderBlock extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.HeaderBlock) HeaderBlockOrBuilder { @@ -236,14 +236,14 @@ private HeaderBlock() { osmosisReplicationBaseUrl_ = ""; } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HeaderBlock(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -254,7 +254,7 @@ private HeaderBlock( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -268,11 +268,11 @@ private HeaderBlock( done = true; break; case 10: { - HeaderBBox.Builder subBuilder = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder subBuilder = null; if (((bitField0_ & 0x00000001) != 0)) { subBuilder = bbox_.toBuilder(); } - bbox_ = input.readMessage(HeaderBBox.PARSER, extensionRegistry); + bbox_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(bbox_); bbox_ = subBuilder.buildPartial(); @@ -282,7 +282,7 @@ private HeaderBlock( } case 34: { com.google.protobuf.ByteString bs = input.readBytes(); - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if ((mutable_bitField0_ & 0x00000002) == 0) { requiredFeatures_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000002; } @@ -291,7 +291,7 @@ private HeaderBlock( } case 42: { com.google.protobuf.ByteString bs = input.readBytes(); - if (!((mutable_bitField0_ & 0x00000004) != 0)) { + if ((mutable_bitField0_ & 0x00000004) == 0) { optionalFeatures_ = new com.google.protobuf.LazyStringArrayList(); mutable_bitField0_ |= 0x00000004; } @@ -337,6 +337,8 @@ private HeaderBlock( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -353,24 +355,25 @@ private HeaderBlock( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_HeaderBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBlock_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_HeaderBlock_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBlock_fieldAccessorTable .ensureFieldAccessorsInitialized( - HeaderBlock.class, HeaderBlock.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.class, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.Builder.class); } private int bitField0_; public static final int BBOX_FIELD_NUMBER = 1; - private HeaderBBox bbox_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox bbox_; /** * optional .OSMPBF.HeaderBBox bbox = 1; * @return Whether the bbox field is set. */ + @java.lang.Override public boolean hasBbox() { return ((bitField0_ & 0x00000001) != 0); } @@ -378,21 +381,23 @@ public boolean hasBbox() { * optional .OSMPBF.HeaderBBox bbox = 1; * @return The bbox. */ - public HeaderBBox getBbox() { - return bbox_ == null ? HeaderBBox.getDefaultInstance() : bbox_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getBbox() { + return bbox_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance() : bbox_; } /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - public HeaderBBoxOrBuilder getBboxOrBuilder() { - return bbox_ == null ? HeaderBBox.getDefaultInstance() : bbox_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder() { + return bbox_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance() : bbox_; } public static final int REQUIRED_FEATURES_FIELD_NUMBER = 4; private com.google.protobuf.LazyStringList requiredFeatures_; /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; @@ -404,7 +409,7 @@ public HeaderBBoxOrBuilder getBboxOrBuilder() { } /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; @@ -415,19 +420,19 @@ public int getRequiredFeaturesCount() { } /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; * @param index The index of the element to return. * @return The requiredFeatures at the given index. */ - public String getRequiredFeatures(int index) { + public java.lang.String getRequiredFeatures(int index) { return requiredFeatures_.get(index); } /** *
-     * Additional tags to aid in parsing this dataset 
+     * Additional tags to aid in parsing this dataset
      * 
* * repeated string required_features = 4; @@ -461,7 +466,7 @@ public int getOptionalFeaturesCount() { * @param index The index of the element to return. * @return The optionalFeatures at the given index. */ - public String getOptionalFeatures(int index) { + public java.lang.String getOptionalFeatures(int index) { return optionalFeatures_.get(index); } /** @@ -475,11 +480,12 @@ public String getOptionalFeatures(int index) { } public static final int WRITINGPROGRAM_FIELD_NUMBER = 16; - private volatile Object writingprogram_; + private volatile java.lang.Object writingprogram_; /** * optional string writingprogram = 16; * @return Whether the writingprogram field is set. */ + @java.lang.Override public boolean hasWritingprogram() { return ((bitField0_ & 0x00000002) != 0); } @@ -487,14 +493,15 @@ public boolean hasWritingprogram() { * optional string writingprogram = 16; * @return The writingprogram. */ - public String getWritingprogram() { - Object ref = writingprogram_; - if (ref instanceof String) { - return (String) ref; + @java.lang.Override + public java.lang.String getWritingprogram() { + java.lang.Object ref = writingprogram_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { writingprogram_ = s; } @@ -505,13 +512,14 @@ public String getWritingprogram() { * optional string writingprogram = 16; * @return The bytes for writingprogram. */ + @java.lang.Override public com.google.protobuf.ByteString getWritingprogramBytes() { - Object ref = writingprogram_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = + java.lang.Object ref = writingprogram_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); writingprogram_ = b; return b; } else { @@ -520,7 +528,7 @@ public String getWritingprogram() { } public static final int SOURCE_FIELD_NUMBER = 17; - private volatile Object source_; + private volatile java.lang.Object source_; /** *
      * From the bbox field.
@@ -529,6 +537,7 @@ public String getWritingprogram() {
      * optional string source = 17;
      * @return Whether the source field is set.
      */
+    @java.lang.Override
     public boolean hasSource() {
       return ((bitField0_ & 0x00000004) != 0);
     }
@@ -540,14 +549,15 @@ public boolean hasSource() {
      * optional string source = 17;
      * @return The source.
      */
-    public String getSource() {
-      Object ref = source_;
-      if (ref instanceof String) {
-        return (String) ref;
+    @java.lang.Override
+    public java.lang.String getSource() {
+      java.lang.Object ref = source_;
+      if (ref instanceof java.lang.String) {
+        return (java.lang.String) ref;
       } else {
-        com.google.protobuf.ByteString bs = 
+        com.google.protobuf.ByteString bs =
             (com.google.protobuf.ByteString) ref;
-        String s = bs.toStringUtf8();
+        java.lang.String s = bs.toStringUtf8();
         if (bs.isValidUtf8()) {
           source_ = s;
         }
@@ -562,13 +572,14 @@ public String getSource() {
      * optional string source = 17;
      * @return The bytes for source.
      */
+    @java.lang.Override
     public com.google.protobuf.ByteString
         getSourceBytes() {
-      Object ref = source_;
-      if (ref instanceof String) {
-        com.google.protobuf.ByteString b = 
+      java.lang.Object ref = source_;
+      if (ref instanceof java.lang.String) {
+        com.google.protobuf.ByteString b =
             com.google.protobuf.ByteString.copyFromUtf8(
-                (String) ref);
+                (java.lang.String) ref);
         source_ = b;
         return b;
       } else {
@@ -580,27 +591,29 @@ public String getSource() {
     private long osmosisReplicationTimestamp_;
     /**
      * 
-     * replication timestamp, expressed in seconds since the epoch, 
+     * Replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
-     * in the state.txt file used by Osmosis
+     * in the state.txt file used by Osmosis.
      * 
* * optional int64 osmosis_replication_timestamp = 32; * @return Whether the osmosisReplicationTimestamp field is set. */ + @java.lang.Override public boolean hasOsmosisReplicationTimestamp() { return ((bitField0_ & 0x00000008) != 0); } /** *
-     * replication timestamp, expressed in seconds since the epoch, 
+     * Replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
-     * in the state.txt file used by Osmosis
+     * in the state.txt file used by Osmosis.
      * 
* * optional int64 osmosis_replication_timestamp = 32; * @return The osmosisReplicationTimestamp. */ + @java.lang.Override public long getOsmosisReplicationTimestamp() { return osmosisReplicationTimestamp_; } @@ -609,56 +622,60 @@ public long getOsmosisReplicationTimestamp() { private long osmosisReplicationSequenceNumber_; /** *
-     * replication sequence number (sequenceNumber in state.txt)
+     * Replication sequence number (sequenceNumber in state.txt).
      * 
* * optional int64 osmosis_replication_sequence_number = 33; * @return Whether the osmosisReplicationSequenceNumber field is set. */ + @java.lang.Override public boolean hasOsmosisReplicationSequenceNumber() { return ((bitField0_ & 0x00000010) != 0); } /** *
-     * replication sequence number (sequenceNumber in state.txt)
+     * Replication sequence number (sequenceNumber in state.txt).
      * 
* * optional int64 osmosis_replication_sequence_number = 33; * @return The osmosisReplicationSequenceNumber. */ + @java.lang.Override public long getOsmosisReplicationSequenceNumber() { return osmosisReplicationSequenceNumber_; } public static final int OSMOSIS_REPLICATION_BASE_URL_FIELD_NUMBER = 34; - private volatile Object osmosisReplicationBaseUrl_; + private volatile java.lang.Object osmosisReplicationBaseUrl_; /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; * @return Whether the osmosisReplicationBaseUrl field is set. */ + @java.lang.Override public boolean hasOsmosisReplicationBaseUrl() { return ((bitField0_ & 0x00000020) != 0); } /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; * @return The osmosisReplicationBaseUrl. */ - public String getOsmosisReplicationBaseUrl() { - Object ref = osmosisReplicationBaseUrl_; - if (ref instanceof String) { - return (String) ref; + @java.lang.Override + public java.lang.String getOsmosisReplicationBaseUrl() { + java.lang.Object ref = osmosisReplicationBaseUrl_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; } else { - com.google.protobuf.ByteString bs = + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { osmosisReplicationBaseUrl_ = s; } @@ -667,19 +684,20 @@ public String getOsmosisReplicationBaseUrl() { } /** *
-     * replication base URL (from Osmosis' configuration.txt file)
+     * Replication base URL (from Osmosis' configuration.txt file).
      * 
* * optional string osmosis_replication_base_url = 34; * @return The bytes for osmosisReplicationBaseUrl. */ + @java.lang.Override public com.google.protobuf.ByteString getOsmosisReplicationBaseUrlBytes() { - Object ref = osmosisReplicationBaseUrl_; - if (ref instanceof String) { - com.google.protobuf.ByteString b = + java.lang.Object ref = osmosisReplicationBaseUrl_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); osmosisReplicationBaseUrl_ = b; return b; } else { @@ -688,7 +706,7 @@ public String getOsmosisReplicationBaseUrl() { } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -704,7 +722,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -734,7 +752,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -782,15 +800,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof HeaderBlock)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock)) { return super.equals(obj); } - HeaderBlock other = (HeaderBlock) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock other = (org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock) obj; if (hasBbox() != other.hasBbox()) return false; if (hasBbox()) { @@ -826,11 +844,10 @@ public boolean equals(final Object obj) { if (!getOsmosisReplicationBaseUrl() .equals(other.getOsmosisReplicationBaseUrl())) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -876,69 +893,69 @@ public int hashCode() { return hash; } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBlock parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBlock parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock 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 HeaderBlock parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static HeaderBlock parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock 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 HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static HeaderBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -946,23 +963,23 @@ public static HeaderBlock parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(HeaderBlock prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -972,27 +989,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.HeaderBlock) - HeaderBlockOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlockOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_HeaderBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBlock_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_HeaderBlock_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBlock_fieldAccessorTable .ensureFieldAccessorsInitialized( - HeaderBlock.class, HeaderBlock.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.class, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.Builder.class); } - // Construct using HeaderBlock.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -1002,7 +1019,7 @@ private void maybeForceBuilderInitialization() { getBboxFieldBuilder(); } } - @Override + @java.lang.Override public Builder clear() { super.clear(); if (bboxBuilder_ == null) { @@ -1028,29 +1045,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_HeaderBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBlock_descriptor; } - @Override - public HeaderBlock getDefaultInstanceForType() { - return HeaderBlock.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.getDefaultInstance(); } - @Override - public HeaderBlock build() { - HeaderBlock result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public HeaderBlock buildPartial() { - HeaderBlock result = new HeaderBlock(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock result = new org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -1096,50 +1113,50 @@ public HeaderBlock buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof HeaderBlock) { - return mergeFrom((HeaderBlock)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(HeaderBlock other) { - if (other == HeaderBlock.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock.getDefaultInstance()) return this; if (other.hasBbox()) { mergeBbox(other.getBbox()); } @@ -1189,26 +1206,24 @@ public Builder mergeFrom(HeaderBlock other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { if (hasBbox()) { - if (!getBbox().isInitialized()) { - return false; - } + return getBbox().isInitialized(); } return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - HeaderBlock parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (HeaderBlock) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -1219,9 +1234,9 @@ public Builder mergeFrom( } private int bitField0_; - private HeaderBBox bbox_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox bbox_; private com.google.protobuf.SingleFieldBuilderV3< - HeaderBBox, HeaderBBox.Builder, HeaderBBoxOrBuilder> bboxBuilder_; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder> bboxBuilder_; /** * optional .OSMPBF.HeaderBBox bbox = 1; * @return Whether the bbox field is set. @@ -1233,9 +1248,9 @@ public boolean hasBbox() { * optional .OSMPBF.HeaderBBox bbox = 1; * @return The bbox. */ - public HeaderBBox getBbox() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getBbox() { if (bboxBuilder_ == null) { - return bbox_ == null ? HeaderBBox.getDefaultInstance() : bbox_; + return bbox_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance() : bbox_; } else { return bboxBuilder_.getMessage(); } @@ -1243,7 +1258,7 @@ public HeaderBBox getBbox() { /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - public Builder setBbox(HeaderBBox value) { + public Builder setBbox(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox value) { if (bboxBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -1260,7 +1275,7 @@ public Builder setBbox(HeaderBBox value) { * optional .OSMPBF.HeaderBBox bbox = 1; */ public Builder setBbox( - HeaderBBox.Builder builderForValue) { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder builderForValue) { if (bboxBuilder_ == null) { bbox_ = builderForValue.build(); onChanged(); @@ -1273,13 +1288,13 @@ public Builder setBbox( /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - public Builder mergeBbox(HeaderBBox value) { + public Builder mergeBbox(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox value) { if (bboxBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && bbox_ != null && - bbox_ != HeaderBBox.getDefaultInstance()) { + bbox_ != org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance()) { bbox_ = - HeaderBBox.newBuilder(bbox_).mergeFrom(value).buildPartial(); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.newBuilder(bbox_).mergeFrom(value).buildPartial(); } else { bbox_ = value; } @@ -1306,7 +1321,7 @@ public Builder clearBbox() { /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - public HeaderBBox.Builder getBboxBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder getBboxBuilder() { bitField0_ |= 0x00000001; onChanged(); return getBboxFieldBuilder().getBuilder(); @@ -1314,23 +1329,23 @@ public HeaderBBox.Builder getBboxBuilder() { /** * optional .OSMPBF.HeaderBBox bbox = 1; */ - public HeaderBBoxOrBuilder getBboxOrBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder() { if (bboxBuilder_ != null) { return bboxBuilder_.getMessageOrBuilder(); } else { return bbox_ == null ? - HeaderBBox.getDefaultInstance() : bbox_; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance() : bbox_; } } /** * optional .OSMPBF.HeaderBBox bbox = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - HeaderBBox, HeaderBBox.Builder, HeaderBBoxOrBuilder> + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder> getBboxFieldBuilder() { if (bboxBuilder_ == null) { bboxBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - HeaderBBox, HeaderBBox.Builder, HeaderBBoxOrBuilder>( + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder>( getBbox(), getParentForChildren(), isClean()); @@ -1341,14 +1356,14 @@ public HeaderBBoxOrBuilder getBboxOrBuilder() { private com.google.protobuf.LazyStringList requiredFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureRequiredFeaturesIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { + if ((bitField0_ & 0x00000002) == 0) { requiredFeatures_ = new com.google.protobuf.LazyStringArrayList(requiredFeatures_); bitField0_ |= 0x00000002; } } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1360,7 +1375,7 @@ private void ensureRequiredFeaturesIsMutable() { } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1371,19 +1386,19 @@ public int getRequiredFeaturesCount() { } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; * @param index The index of the element to return. * @return The requiredFeatures at the given index. */ - public String getRequiredFeatures(int index) { + public java.lang.String getRequiredFeatures(int index) { return requiredFeatures_.get(index); } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1396,7 +1411,7 @@ public String getRequiredFeatures(int index) { } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1405,7 +1420,7 @@ public String getRequiredFeatures(int index) { * @return This builder for chaining. */ public Builder setRequiredFeatures( - int index, String value) { + int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1416,7 +1431,7 @@ public Builder setRequiredFeatures( } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1424,7 +1439,7 @@ public Builder setRequiredFeatures( * @return This builder for chaining. */ public Builder addRequiredFeatures( - String value) { + java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1435,7 +1450,7 @@ public Builder addRequiredFeatures( } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1443,7 +1458,7 @@ public Builder addRequiredFeatures( * @return This builder for chaining. */ public Builder addAllRequiredFeatures( - Iterable values) { + java.lang.Iterable values) { ensureRequiredFeaturesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, requiredFeatures_); @@ -1452,7 +1467,7 @@ public Builder addAllRequiredFeatures( } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1466,7 +1481,7 @@ public Builder clearRequiredFeatures() { } /** *
-       * Additional tags to aid in parsing this dataset 
+       * Additional tags to aid in parsing this dataset
        * 
* * repeated string required_features = 4; @@ -1486,7 +1501,7 @@ public Builder addRequiredFeaturesBytes( private com.google.protobuf.LazyStringList optionalFeatures_ = com.google.protobuf.LazyStringArrayList.EMPTY; private void ensureOptionalFeaturesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if ((bitField0_ & 0x00000004) == 0) { optionalFeatures_ = new com.google.protobuf.LazyStringArrayList(optionalFeatures_); bitField0_ |= 0x00000004; } @@ -1511,7 +1526,7 @@ public int getOptionalFeaturesCount() { * @param index The index of the element to return. * @return The optionalFeatures at the given index. */ - public String getOptionalFeatures(int index) { + public java.lang.String getOptionalFeatures(int index) { return optionalFeatures_.get(index); } /** @@ -1530,7 +1545,7 @@ public String getOptionalFeatures(int index) { * @return This builder for chaining. */ public Builder setOptionalFeatures( - int index, String value) { + int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1545,7 +1560,7 @@ public Builder setOptionalFeatures( * @return This builder for chaining. */ public Builder addOptionalFeatures( - String value) { + java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1560,7 +1575,7 @@ public Builder addOptionalFeatures( * @return This builder for chaining. */ public Builder addAllOptionalFeatures( - Iterable values) { + java.lang.Iterable values) { ensureOptionalFeaturesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, optionalFeatures_); @@ -1593,7 +1608,7 @@ public Builder addOptionalFeaturesBytes( return this; } - private Object writingprogram_ = ""; + private java.lang.Object writingprogram_ = ""; /** * optional string writingprogram = 16; * @return Whether the writingprogram field is set. @@ -1605,18 +1620,18 @@ public boolean hasWritingprogram() { * optional string writingprogram = 16; * @return The writingprogram. */ - public String getWritingprogram() { - Object ref = writingprogram_; - if (!(ref instanceof String)) { + public java.lang.String getWritingprogram() { + java.lang.Object ref = writingprogram_; + if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { writingprogram_ = s; } return s; } else { - return (String) ref; + return (java.lang.String) ref; } } /** @@ -1625,11 +1640,11 @@ public String getWritingprogram() { */ public com.google.protobuf.ByteString getWritingprogramBytes() { - Object ref = writingprogram_; + java.lang.Object ref = writingprogram_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); writingprogram_ = b; return b; } else { @@ -1642,7 +1657,7 @@ public String getWritingprogram() { * @return This builder for chaining. */ public Builder setWritingprogram( - String value) { + java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1677,7 +1692,7 @@ public Builder setWritingprogramBytes( return this; } - private Object source_ = ""; + private java.lang.Object source_ = ""; /** *
        * From the bbox field.
@@ -1697,18 +1712,18 @@ public boolean hasSource() {
        * optional string source = 17;
        * @return The source.
        */
-      public String getSource() {
-        Object ref = source_;
-        if (!(ref instanceof String)) {
+      public java.lang.String getSource() {
+        java.lang.Object ref = source_;
+        if (!(ref instanceof java.lang.String)) {
           com.google.protobuf.ByteString bs =
               (com.google.protobuf.ByteString) ref;
-          String s = bs.toStringUtf8();
+          java.lang.String s = bs.toStringUtf8();
           if (bs.isValidUtf8()) {
             source_ = s;
           }
           return s;
         } else {
-          return (String) ref;
+          return (java.lang.String) ref;
         }
       }
       /**
@@ -1721,11 +1736,11 @@ public String getSource() {
        */
       public com.google.protobuf.ByteString
           getSourceBytes() {
-        Object ref = source_;
+        java.lang.Object ref = source_;
         if (ref instanceof String) {
-          com.google.protobuf.ByteString b = 
+          com.google.protobuf.ByteString b =
               com.google.protobuf.ByteString.copyFromUtf8(
-                  (String) ref);
+                  (java.lang.String) ref);
           source_ = b;
           return b;
         } else {
@@ -1742,7 +1757,7 @@ public String getSource() {
        * @return This builder for chaining.
        */
       public Builder setSource(
-          String value) {
+          java.lang.String value) {
         if (value == null) {
     throw new NullPointerException();
   }
@@ -1788,35 +1803,37 @@ public Builder setSourceBytes(
       private long osmosisReplicationTimestamp_ ;
       /**
        * 
-       * replication timestamp, expressed in seconds since the epoch, 
+       * Replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
-       * in the state.txt file used by Osmosis
+       * in the state.txt file used by Osmosis.
        * 
* * optional int64 osmosis_replication_timestamp = 32; * @return Whether the osmosisReplicationTimestamp field is set. */ + @java.lang.Override public boolean hasOsmosisReplicationTimestamp() { return ((bitField0_ & 0x00000020) != 0); } /** *
-       * replication timestamp, expressed in seconds since the epoch, 
+       * Replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
-       * in the state.txt file used by Osmosis
+       * in the state.txt file used by Osmosis.
        * 
* * optional int64 osmosis_replication_timestamp = 32; * @return The osmosisReplicationTimestamp. */ + @java.lang.Override public long getOsmosisReplicationTimestamp() { return osmosisReplicationTimestamp_; } /** *
-       * replication timestamp, expressed in seconds since the epoch, 
+       * Replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
-       * in the state.txt file used by Osmosis
+       * in the state.txt file used by Osmosis.
        * 
* * optional int64 osmosis_replication_timestamp = 32; @@ -1831,9 +1848,9 @@ public Builder setOsmosisReplicationTimestamp(long value) { } /** *
-       * replication timestamp, expressed in seconds since the epoch, 
+       * Replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
-       * in the state.txt file used by Osmosis
+       * in the state.txt file used by Osmosis.
        * 
* * optional int64 osmosis_replication_timestamp = 32; @@ -1849,29 +1866,31 @@ public Builder clearOsmosisReplicationTimestamp() { private long osmosisReplicationSequenceNumber_ ; /** *
-       * replication sequence number (sequenceNumber in state.txt)
+       * Replication sequence number (sequenceNumber in state.txt).
        * 
* * optional int64 osmosis_replication_sequence_number = 33; * @return Whether the osmosisReplicationSequenceNumber field is set. */ + @java.lang.Override public boolean hasOsmosisReplicationSequenceNumber() { return ((bitField0_ & 0x00000040) != 0); } /** *
-       * replication sequence number (sequenceNumber in state.txt)
+       * Replication sequence number (sequenceNumber in state.txt).
        * 
* * optional int64 osmosis_replication_sequence_number = 33; * @return The osmosisReplicationSequenceNumber. */ + @java.lang.Override public long getOsmosisReplicationSequenceNumber() { return osmosisReplicationSequenceNumber_; } /** *
-       * replication sequence number (sequenceNumber in state.txt)
+       * Replication sequence number (sequenceNumber in state.txt).
        * 
* * optional int64 osmosis_replication_sequence_number = 33; @@ -1886,7 +1905,7 @@ public Builder setOsmosisReplicationSequenceNumber(long value) { } /** *
-       * replication sequence number (sequenceNumber in state.txt)
+       * Replication sequence number (sequenceNumber in state.txt).
        * 
* * optional int64 osmosis_replication_sequence_number = 33; @@ -1899,10 +1918,10 @@ public Builder clearOsmosisReplicationSequenceNumber() { return this; } - private Object osmosisReplicationBaseUrl_ = ""; + private java.lang.Object osmosisReplicationBaseUrl_ = ""; /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; @@ -1913,29 +1932,29 @@ public boolean hasOsmosisReplicationBaseUrl() { } /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; * @return The osmosisReplicationBaseUrl. */ - public String getOsmosisReplicationBaseUrl() { - Object ref = osmosisReplicationBaseUrl_; - if (!(ref instanceof String)) { + public java.lang.String getOsmosisReplicationBaseUrl() { + java.lang.Object ref = osmosisReplicationBaseUrl_; + if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; - String s = bs.toStringUtf8(); + java.lang.String s = bs.toStringUtf8(); if (bs.isValidUtf8()) { osmosisReplicationBaseUrl_ = s; } return s; } else { - return (String) ref; + return (java.lang.String) ref; } } /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; @@ -1943,11 +1962,11 @@ public String getOsmosisReplicationBaseUrl() { */ public com.google.protobuf.ByteString getOsmosisReplicationBaseUrlBytes() { - Object ref = osmosisReplicationBaseUrl_; + java.lang.Object ref = osmosisReplicationBaseUrl_; if (ref instanceof String) { - com.google.protobuf.ByteString b = + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( - (String) ref); + (java.lang.String) ref); osmosisReplicationBaseUrl_ = b; return b; } else { @@ -1956,7 +1975,7 @@ public String getOsmosisReplicationBaseUrl() { } /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; @@ -1964,7 +1983,7 @@ public String getOsmosisReplicationBaseUrl() { * @return This builder for chaining. */ public Builder setOsmosisReplicationBaseUrl( - String value) { + java.lang.String value) { if (value == null) { throw new NullPointerException(); } @@ -1975,7 +1994,7 @@ public Builder setOsmosisReplicationBaseUrl( } /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; @@ -1989,7 +2008,7 @@ public Builder clearOsmosisReplicationBaseUrl() { } /** *
-       * replication base URL (from Osmosis' configuration.txt file)
+       * Replication base URL (from Osmosis' configuration.txt file).
        * 
* * optional string osmosis_replication_base_url = 34; @@ -2006,13 +2025,13 @@ public Builder setOsmosisReplicationBaseUrlBytes( onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -2023,18 +2042,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBlock) - private static final HeaderBlock DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new HeaderBlock(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock(); } - public static HeaderBlock getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public HeaderBlock parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -2047,13 +2066,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public HeaderBlock getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBlock getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -2110,7 +2129,7 @@ public interface HeaderBBoxOrBuilder extends /** * Protobuf type {@code OSMPBF.HeaderBBox} */ - public static final class HeaderBBox extends + public static final class HeaderBBox extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.HeaderBBox) HeaderBBoxOrBuilder { @@ -2122,14 +2141,14 @@ private HeaderBBox(com.google.protobuf.GeneratedMessageV3.Builder builder) { private HeaderBBox() { } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new HeaderBBox(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -2140,7 +2159,7 @@ private HeaderBBox( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -2184,6 +2203,8 @@ private HeaderBBox( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -2194,15 +2215,15 @@ private HeaderBBox( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_HeaderBBox_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBBox_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_HeaderBBox_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBBox_fieldAccessorTable .ensureFieldAccessorsInitialized( - HeaderBBox.class, HeaderBBox.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.class, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder.class); } private int bitField0_; @@ -2212,6 +2233,7 @@ private HeaderBBox( * required sint64 left = 1; * @return Whether the left field is set. */ + @java.lang.Override public boolean hasLeft() { return ((bitField0_ & 0x00000001) != 0); } @@ -2219,6 +2241,7 @@ public boolean hasLeft() { * required sint64 left = 1; * @return The left. */ + @java.lang.Override public long getLeft() { return left_; } @@ -2229,6 +2252,7 @@ public long getLeft() { * required sint64 right = 2; * @return Whether the right field is set. */ + @java.lang.Override public boolean hasRight() { return ((bitField0_ & 0x00000002) != 0); } @@ -2236,6 +2260,7 @@ public boolean hasRight() { * required sint64 right = 2; * @return The right. */ + @java.lang.Override public long getRight() { return right_; } @@ -2246,6 +2271,7 @@ public long getRight() { * required sint64 top = 3; * @return Whether the top field is set. */ + @java.lang.Override public boolean hasTop() { return ((bitField0_ & 0x00000004) != 0); } @@ -2253,6 +2279,7 @@ public boolean hasTop() { * required sint64 top = 3; * @return The top. */ + @java.lang.Override public long getTop() { return top_; } @@ -2263,6 +2290,7 @@ public long getTop() { * required sint64 bottom = 4; * @return Whether the bottom field is set. */ + @java.lang.Override public boolean hasBottom() { return ((bitField0_ & 0x00000008) != 0); } @@ -2270,12 +2298,13 @@ public boolean hasBottom() { * required sint64 bottom = 4; * @return The bottom. */ + @java.lang.Override public long getBottom() { return bottom_; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -2301,7 +2330,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -2319,7 +2348,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -2346,15 +2375,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof HeaderBBox)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox)) { return super.equals(obj); } - HeaderBBox other = (HeaderBBox) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox other = (org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox) obj; if (hasLeft() != other.hasLeft()) return false; if (hasLeft()) { @@ -2376,11 +2405,10 @@ public boolean equals(final Object obj) { if (getBottom() != other.getBottom()) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -2412,69 +2440,69 @@ public int hashCode() { return hash; } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBBox parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static HeaderBBox parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox 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 HeaderBBox parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static HeaderBBox parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox 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 HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static HeaderBBox parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -2482,23 +2510,23 @@ public static HeaderBBox parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(HeaderBBox prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -2508,27 +2536,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.HeaderBBox) - HeaderBBoxOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBoxOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_HeaderBBox_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBBox_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_HeaderBBox_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBBox_fieldAccessorTable .ensureFieldAccessorsInitialized( - HeaderBBox.class, HeaderBBox.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.class, org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.Builder.class); } - // Construct using HeaderBBox.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -2537,7 +2565,7 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); left_ = 0L; @@ -2551,29 +2579,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_HeaderBBox_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_HeaderBBox_descriptor; } - @Override - public HeaderBBox getDefaultInstanceForType() { - return HeaderBBox.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance(); } - @Override - public HeaderBBox build() { - HeaderBBox result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public HeaderBBox buildPartial() { - HeaderBBox result = new HeaderBBox(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox result = new org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -2597,50 +2625,50 @@ public HeaderBBox buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof HeaderBBox) { - return mergeFrom((HeaderBBox)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(HeaderBBox other) { - if (other == HeaderBBox.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox.getDefaultInstance()) return this; if (other.hasLeft()) { setLeft(other.getLeft()); } @@ -2658,7 +2686,7 @@ public Builder mergeFrom(HeaderBBox other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { if (!hasLeft()) { return false; @@ -2669,22 +2697,19 @@ public final boolean isInitialized() { if (!hasTop()) { return false; } - if (!hasBottom()) { - return false; - } - return true; + return hasBottom(); } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - HeaderBBox parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (HeaderBBox) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -2700,6 +2725,7 @@ public Builder mergeFrom( * required sint64 left = 1; * @return Whether the left field is set. */ + @java.lang.Override public boolean hasLeft() { return ((bitField0_ & 0x00000001) != 0); } @@ -2707,6 +2733,7 @@ public boolean hasLeft() { * required sint64 left = 1; * @return The left. */ + @java.lang.Override public long getLeft() { return left_; } @@ -2737,6 +2764,7 @@ public Builder clearLeft() { * required sint64 right = 2; * @return Whether the right field is set. */ + @java.lang.Override public boolean hasRight() { return ((bitField0_ & 0x00000002) != 0); } @@ -2744,6 +2772,7 @@ public boolean hasRight() { * required sint64 right = 2; * @return The right. */ + @java.lang.Override public long getRight() { return right_; } @@ -2774,6 +2803,7 @@ public Builder clearRight() { * required sint64 top = 3; * @return Whether the top field is set. */ + @java.lang.Override public boolean hasTop() { return ((bitField0_ & 0x00000004) != 0); } @@ -2781,6 +2811,7 @@ public boolean hasTop() { * required sint64 top = 3; * @return The top. */ + @java.lang.Override public long getTop() { return top_; } @@ -2811,6 +2842,7 @@ public Builder clearTop() { * required sint64 bottom = 4; * @return Whether the bottom field is set. */ + @java.lang.Override public boolean hasBottom() { return ((bitField0_ & 0x00000008) != 0); } @@ -2818,6 +2850,7 @@ public boolean hasBottom() { * required sint64 bottom = 4; * @return The bottom. */ + @java.lang.Override public long getBottom() { return bottom_; } @@ -2842,13 +2875,13 @@ public Builder clearBottom() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -2859,18 +2892,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.HeaderBBox) - private static final HeaderBBox DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new HeaderBBox(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox(); } - public static HeaderBBox getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public HeaderBBox parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -2883,13 +2916,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public HeaderBBox getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.HeaderBBox getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -2908,21 +2941,21 @@ public interface PrimitiveBlockOrBuilder extends * required .OSMPBF.StringTable stringtable = 1; * @return The stringtable. */ - StringTable getStringtable(); + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getStringtable(); /** * required .OSMPBF.StringTable stringtable = 1; */ - StringTableOrBuilder getStringtableOrBuilder(); + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder getStringtableOrBuilder(); /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - java.util.List + java.util.List getPrimitivegroupList(); /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - PrimitiveGroup getPrimitivegroup(int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getPrimitivegroup(int index); /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ @@ -2930,17 +2963,17 @@ public interface PrimitiveBlockOrBuilder extends /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - java.util.List + java.util.List getPrimitivegroupOrBuilderList(); /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( - int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( + int index); /** *
-     * Granularity, units of nanodegrees, used to store coordinates in this block
+     * Granularity, units of nanodegrees, used to store coordinates in this block.
      * 
* * optional int32 granularity = 17 [default = 100]; @@ -2949,7 +2982,7 @@ PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( boolean hasGranularity(); /** *
-     * Granularity, units of nanodegrees, used to store coordinates in this block
+     * Granularity, units of nanodegrees, used to store coordinates in this block.
      * 
* * optional int32 granularity = 17 [default = 100]; @@ -2959,7 +2992,7 @@ PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( /** *
-     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+     * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
      * 
* * optional int64 lat_offset = 19 [default = 0]; @@ -2968,7 +3001,7 @@ PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( boolean hasLatOffset(); /** *
-     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+     * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
      * 
* * optional int64 lat_offset = 19 [default = 0]; @@ -3009,7 +3042,7 @@ PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( /** * Protobuf type {@code OSMPBF.PrimitiveBlock} */ - public static final class PrimitiveBlock extends + public static final class PrimitiveBlock extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.PrimitiveBlock) PrimitiveBlockOrBuilder { @@ -3024,14 +3057,14 @@ private PrimitiveBlock() { dateGranularity_ = 1000; } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new PrimitiveBlock(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -3042,7 +3075,7 @@ private PrimitiveBlock( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -3056,11 +3089,11 @@ private PrimitiveBlock( done = true; break; case 10: { - StringTable.Builder subBuilder = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder subBuilder = null; if (((bitField0_ & 0x00000001) != 0)) { subBuilder = stringtable_.toBuilder(); } - stringtable_ = input.readMessage(StringTable.PARSER, extensionRegistry); + stringtable_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(stringtable_); stringtable_ = subBuilder.buildPartial(); @@ -3069,12 +3102,12 @@ private PrimitiveBlock( break; } case 18: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { - primitivegroup_ = new java.util.ArrayList(); + if ((mutable_bitField0_ & 0x00000002) == 0) { + primitivegroup_ = new java.util.ArrayList(); mutable_bitField0_ |= 0x00000002; } primitivegroup_.add( - input.readMessage(PrimitiveGroup.PARSER, extensionRegistry)); + input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.PARSER, extensionRegistry)); break; } case 136: { @@ -3108,6 +3141,8 @@ private PrimitiveBlock( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -3121,24 +3156,25 @@ private PrimitiveBlock( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_PrimitiveBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveBlock_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable .ensureFieldAccessorsInitialized( - PrimitiveBlock.class, PrimitiveBlock.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.class, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.Builder.class); } private int bitField0_; public static final int STRINGTABLE_FIELD_NUMBER = 1; - private StringTable stringtable_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable stringtable_; /** * required .OSMPBF.StringTable stringtable = 1; * @return Whether the stringtable field is set. */ + @java.lang.Override public boolean hasStringtable() { return ((bitField0_ & 0x00000001) != 0); } @@ -3146,47 +3182,54 @@ public boolean hasStringtable() { * required .OSMPBF.StringTable stringtable = 1; * @return The stringtable. */ - public StringTable getStringtable() { - return stringtable_ == null ? StringTable.getDefaultInstance() : stringtable_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getStringtable() { + return stringtable_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance() : stringtable_; } /** * required .OSMPBF.StringTable stringtable = 1; */ - public StringTableOrBuilder getStringtableOrBuilder() { - return stringtable_ == null ? StringTable.getDefaultInstance() : stringtable_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder getStringtableOrBuilder() { + return stringtable_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance() : stringtable_; } public static final int PRIMITIVEGROUP_FIELD_NUMBER = 2; - private java.util.List primitivegroup_; + private java.util.List primitivegroup_; /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public java.util.List getPrimitivegroupList() { + @java.lang.Override + public java.util.List getPrimitivegroupList() { return primitivegroup_; } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public java.util.List + @java.lang.Override + public java.util.List getPrimitivegroupOrBuilderList() { return primitivegroup_; } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ + @java.lang.Override public int getPrimitivegroupCount() { return primitivegroup_.size(); } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroup getPrimitivegroup(int index) { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) { return primitivegroup_.get(index); } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( int index) { return primitivegroup_.get(index); } @@ -3195,23 +3238,25 @@ public PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( private int granularity_; /** *
-     * Granularity, units of nanodegrees, used to store coordinates in this block
+     * Granularity, units of nanodegrees, used to store coordinates in this block.
      * 
* * optional int32 granularity = 17 [default = 100]; * @return Whether the granularity field is set. */ + @java.lang.Override public boolean hasGranularity() { return ((bitField0_ & 0x00000002) != 0); } /** *
-     * Granularity, units of nanodegrees, used to store coordinates in this block
+     * Granularity, units of nanodegrees, used to store coordinates in this block.
      * 
* * optional int32 granularity = 17 [default = 100]; * @return The granularity. */ + @java.lang.Override public int getGranularity() { return granularity_; } @@ -3220,23 +3265,25 @@ public int getGranularity() { private long latOffset_; /** *
-     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+     * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
      * 
* * optional int64 lat_offset = 19 [default = 0]; * @return Whether the latOffset field is set. */ + @java.lang.Override public boolean hasLatOffset() { return ((bitField0_ & 0x00000004) != 0); } /** *
-     * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+     * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
      * 
* * optional int64 lat_offset = 19 [default = 0]; * @return The latOffset. */ + @java.lang.Override public long getLatOffset() { return latOffset_; } @@ -3247,6 +3294,7 @@ public long getLatOffset() { * optional int64 lon_offset = 20 [default = 0]; * @return Whether the lonOffset field is set. */ + @java.lang.Override public boolean hasLonOffset() { return ((bitField0_ & 0x00000008) != 0); } @@ -3254,6 +3302,7 @@ public boolean hasLonOffset() { * optional int64 lon_offset = 20 [default = 0]; * @return The lonOffset. */ + @java.lang.Override public long getLonOffset() { return lonOffset_; } @@ -3268,6 +3317,7 @@ public long getLonOffset() { * optional int32 date_granularity = 18 [default = 1000]; * @return Whether the dateGranularity field is set. */ + @java.lang.Override public boolean hasDateGranularity() { return ((bitField0_ & 0x00000010) != 0); } @@ -3279,12 +3329,13 @@ public boolean hasDateGranularity() { * optional int32 date_granularity = 18 [default = 1000]; * @return The dateGranularity. */ + @java.lang.Override public int getDateGranularity() { return dateGranularity_; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -3304,7 +3355,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -3328,7 +3379,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -3363,15 +3414,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof PrimitiveBlock)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock)) { return super.equals(obj); } - PrimitiveBlock other = (PrimitiveBlock) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock other = (org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock) obj; if (hasStringtable() != other.hasStringtable()) return false; if (hasStringtable()) { @@ -3400,11 +3451,10 @@ public boolean equals(final Object obj) { if (getDateGranularity() != other.getDateGranularity()) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -3442,69 +3492,69 @@ public int hashCode() { return hash; } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static PrimitiveBlock parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static PrimitiveBlock parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock 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 PrimitiveBlock parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static PrimitiveBlock parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock 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 PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static PrimitiveBlock parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -3512,23 +3562,23 @@ public static PrimitiveBlock parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(PrimitiveBlock prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -3538,27 +3588,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.PrimitiveBlock) - PrimitiveBlockOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlockOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_PrimitiveBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveBlock_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable .ensureFieldAccessorsInitialized( - PrimitiveBlock.class, PrimitiveBlock.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.class, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.Builder.class); } - // Construct using PrimitiveBlock.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -3569,7 +3619,7 @@ private void maybeForceBuilderInitialization() { getPrimitivegroupFieldBuilder(); } } - @Override + @java.lang.Override public Builder clear() { super.clear(); if (stringtableBuilder_ == null) { @@ -3595,29 +3645,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_PrimitiveBlock_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveBlock_descriptor; } - @Override - public PrimitiveBlock getDefaultInstanceForType() { - return PrimitiveBlock.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.getDefaultInstance(); } - @Override - public PrimitiveBlock build() { - PrimitiveBlock result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public PrimitiveBlock buildPartial() { - PrimitiveBlock result = new PrimitiveBlock(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock result = new org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -3658,50 +3708,50 @@ public PrimitiveBlock buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof PrimitiveBlock) { - return mergeFrom((PrimitiveBlock)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(PrimitiveBlock other) { - if (other == PrimitiveBlock.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock.getDefaultInstance()) return this; if (other.hasStringtable()) { mergeStringtable(other.getStringtable()); } @@ -3723,7 +3773,7 @@ public Builder mergeFrom(PrimitiveBlock other) { primitivegroupBuilder_ = null; primitivegroup_ = other.primitivegroup_; bitField0_ = (bitField0_ & ~0x00000002); - primitivegroupBuilder_ = + primitivegroupBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getPrimitivegroupFieldBuilder() : null; } else { @@ -3748,7 +3798,7 @@ public Builder mergeFrom(PrimitiveBlock other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { if (!hasStringtable()) { return false; @@ -3761,16 +3811,16 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - PrimitiveBlock parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (PrimitiveBlock) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -3781,9 +3831,9 @@ public Builder mergeFrom( } private int bitField0_; - private StringTable stringtable_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable stringtable_; private com.google.protobuf.SingleFieldBuilderV3< - StringTable, StringTable.Builder, StringTableOrBuilder> stringtableBuilder_; + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder> stringtableBuilder_; /** * required .OSMPBF.StringTable stringtable = 1; * @return Whether the stringtable field is set. @@ -3795,9 +3845,9 @@ public boolean hasStringtable() { * required .OSMPBF.StringTable stringtable = 1; * @return The stringtable. */ - public StringTable getStringtable() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getStringtable() { if (stringtableBuilder_ == null) { - return stringtable_ == null ? StringTable.getDefaultInstance() : stringtable_; + return stringtable_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance() : stringtable_; } else { return stringtableBuilder_.getMessage(); } @@ -3805,7 +3855,7 @@ public StringTable getStringtable() { /** * required .OSMPBF.StringTable stringtable = 1; */ - public Builder setStringtable(StringTable value) { + public Builder setStringtable(org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable value) { if (stringtableBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3822,7 +3872,7 @@ public Builder setStringtable(StringTable value) { * required .OSMPBF.StringTable stringtable = 1; */ public Builder setStringtable( - StringTable.Builder builderForValue) { + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder builderForValue) { if (stringtableBuilder_ == null) { stringtable_ = builderForValue.build(); onChanged(); @@ -3835,13 +3885,13 @@ public Builder setStringtable( /** * required .OSMPBF.StringTable stringtable = 1; */ - public Builder mergeStringtable(StringTable value) { + public Builder mergeStringtable(org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable value) { if (stringtableBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0) && stringtable_ != null && - stringtable_ != StringTable.getDefaultInstance()) { + stringtable_ != org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance()) { stringtable_ = - StringTable.newBuilder(stringtable_).mergeFrom(value).buildPartial(); + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.newBuilder(stringtable_).mergeFrom(value).buildPartial(); } else { stringtable_ = value; } @@ -3868,7 +3918,7 @@ public Builder clearStringtable() { /** * required .OSMPBF.StringTable stringtable = 1; */ - public StringTable.Builder getStringtableBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder getStringtableBuilder() { bitField0_ |= 0x00000001; onChanged(); return getStringtableFieldBuilder().getBuilder(); @@ -3876,23 +3926,23 @@ public StringTable.Builder getStringtableBuilder() { /** * required .OSMPBF.StringTable stringtable = 1; */ - public StringTableOrBuilder getStringtableOrBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder getStringtableOrBuilder() { if (stringtableBuilder_ != null) { return stringtableBuilder_.getMessageOrBuilder(); } else { return stringtable_ == null ? - StringTable.getDefaultInstance() : stringtable_; + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance() : stringtable_; } } /** * required .OSMPBF.StringTable stringtable = 1; */ private com.google.protobuf.SingleFieldBuilderV3< - StringTable, StringTable.Builder, StringTableOrBuilder> + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder> getStringtableFieldBuilder() { if (stringtableBuilder_ == null) { stringtableBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - StringTable, StringTable.Builder, StringTableOrBuilder>( + org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder>( getStringtable(), getParentForChildren(), isClean()); @@ -3901,22 +3951,22 @@ public StringTableOrBuilder getStringtableOrBuilder() { return stringtableBuilder_; } - private java.util.List primitivegroup_ = + private java.util.List primitivegroup_ = java.util.Collections.emptyList(); private void ensurePrimitivegroupIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { - primitivegroup_ = new java.util.ArrayList(primitivegroup_); + if ((bitField0_ & 0x00000002) == 0) { + primitivegroup_ = new java.util.ArrayList(primitivegroup_); bitField0_ |= 0x00000002; } } private com.google.protobuf.RepeatedFieldBuilderV3< - PrimitiveGroup, PrimitiveGroup.Builder, PrimitiveGroupOrBuilder> primitivegroupBuilder_; + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder> primitivegroupBuilder_; /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public java.util.List getPrimitivegroupList() { + public java.util.List getPrimitivegroupList() { if (primitivegroupBuilder_ == null) { return java.util.Collections.unmodifiableList(primitivegroup_); } else { @@ -3936,7 +3986,7 @@ public int getPrimitivegroupCount() { /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroup getPrimitivegroup(int index) { + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getPrimitivegroup(int index) { if (primitivegroupBuilder_ == null) { return primitivegroup_.get(index); } else { @@ -3947,7 +3997,7 @@ public PrimitiveGroup getPrimitivegroup(int index) { * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder setPrimitivegroup( - int index, PrimitiveGroup value) { + int index, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup value) { if (primitivegroupBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3964,7 +4014,7 @@ public Builder setPrimitivegroup( * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder setPrimitivegroup( - int index, PrimitiveGroup.Builder builderForValue) { + int index, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder builderForValue) { if (primitivegroupBuilder_ == null) { ensurePrimitivegroupIsMutable(); primitivegroup_.set(index, builderForValue.build()); @@ -3977,7 +4027,7 @@ public Builder setPrimitivegroup( /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public Builder addPrimitivegroup(PrimitiveGroup value) { + public Builder addPrimitivegroup(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup value) { if (primitivegroupBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -3994,7 +4044,7 @@ public Builder addPrimitivegroup(PrimitiveGroup value) { * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder addPrimitivegroup( - int index, PrimitiveGroup value) { + int index, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup value) { if (primitivegroupBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -4011,7 +4061,7 @@ public Builder addPrimitivegroup( * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder addPrimitivegroup( - PrimitiveGroup.Builder builderForValue) { + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder builderForValue) { if (primitivegroupBuilder_ == null) { ensurePrimitivegroupIsMutable(); primitivegroup_.add(builderForValue.build()); @@ -4025,7 +4075,7 @@ public Builder addPrimitivegroup( * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder addPrimitivegroup( - int index, PrimitiveGroup.Builder builderForValue) { + int index, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder builderForValue) { if (primitivegroupBuilder_ == null) { ensurePrimitivegroupIsMutable(); primitivegroup_.add(index, builderForValue.build()); @@ -4039,7 +4089,7 @@ public Builder addPrimitivegroup( * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ public Builder addAllPrimitivegroup( - Iterable values) { + java.lang.Iterable values) { if (primitivegroupBuilder_ == null) { ensurePrimitivegroupIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( @@ -4079,14 +4129,14 @@ public Builder removePrimitivegroup(int index) { /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroup.Builder getPrimitivegroupBuilder( + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder getPrimitivegroupBuilder( int index) { return getPrimitivegroupFieldBuilder().getBuilder(index); } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( int index) { if (primitivegroupBuilder_ == null) { return primitivegroup_.get(index); } else { @@ -4096,7 +4146,7 @@ public PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public java.util.List + public java.util.List getPrimitivegroupOrBuilderList() { if (primitivegroupBuilder_ != null) { return primitivegroupBuilder_.getMessageOrBuilderList(); @@ -4107,31 +4157,31 @@ public PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder( /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroup.Builder addPrimitivegroupBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder addPrimitivegroupBuilder() { return getPrimitivegroupFieldBuilder().addBuilder( - PrimitiveGroup.getDefaultInstance()); + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.getDefaultInstance()); } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public PrimitiveGroup.Builder addPrimitivegroupBuilder( + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder addPrimitivegroupBuilder( int index) { return getPrimitivegroupFieldBuilder().addBuilder( - index, PrimitiveGroup.getDefaultInstance()); + index, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.getDefaultInstance()); } /** * repeated .OSMPBF.PrimitiveGroup primitivegroup = 2; */ - public java.util.List + public java.util.List getPrimitivegroupBuilderList() { return getPrimitivegroupFieldBuilder().getBuilderList(); } private com.google.protobuf.RepeatedFieldBuilderV3< - PrimitiveGroup, PrimitiveGroup.Builder, PrimitiveGroupOrBuilder> + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder> getPrimitivegroupFieldBuilder() { if (primitivegroupBuilder_ == null) { primitivegroupBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< - PrimitiveGroup, PrimitiveGroup.Builder, PrimitiveGroupOrBuilder>( + org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder>( primitivegroup_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), @@ -4144,29 +4194,31 @@ public PrimitiveGroup.Builder addPrimitivegroupBuilder( private int granularity_ = 100; /** *
-       * Granularity, units of nanodegrees, used to store coordinates in this block
+       * Granularity, units of nanodegrees, used to store coordinates in this block.
        * 
* * optional int32 granularity = 17 [default = 100]; * @return Whether the granularity field is set. */ + @java.lang.Override public boolean hasGranularity() { return ((bitField0_ & 0x00000004) != 0); } /** *
-       * Granularity, units of nanodegrees, used to store coordinates in this block
+       * Granularity, units of nanodegrees, used to store coordinates in this block.
        * 
* * optional int32 granularity = 17 [default = 100]; * @return The granularity. */ + @java.lang.Override public int getGranularity() { return granularity_; } /** *
-       * Granularity, units of nanodegrees, used to store coordinates in this block
+       * Granularity, units of nanodegrees, used to store coordinates in this block.
        * 
* * optional int32 granularity = 17 [default = 100]; @@ -4181,7 +4233,7 @@ public Builder setGranularity(int value) { } /** *
-       * Granularity, units of nanodegrees, used to store coordinates in this block
+       * Granularity, units of nanodegrees, used to store coordinates in this block.
        * 
* * optional int32 granularity = 17 [default = 100]; @@ -4197,29 +4249,31 @@ public Builder clearGranularity() { private long latOffset_ ; /** *
-       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+       * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
        * 
* * optional int64 lat_offset = 19 [default = 0]; * @return Whether the latOffset field is set. */ + @java.lang.Override public boolean hasLatOffset() { return ((bitField0_ & 0x00000008) != 0); } /** *
-       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+       * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
        * 
* * optional int64 lat_offset = 19 [default = 0]; * @return The latOffset. */ + @java.lang.Override public long getLatOffset() { return latOffset_; } /** *
-       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+       * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
        * 
* * optional int64 lat_offset = 19 [default = 0]; @@ -4234,7 +4288,7 @@ public Builder setLatOffset(long value) { } /** *
-       * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
+       * Offset value between the output coordinates and the granularity grid in units of nanodegrees.
        * 
* * optional int64 lat_offset = 19 [default = 0]; @@ -4252,6 +4306,7 @@ public Builder clearLatOffset() { * optional int64 lon_offset = 20 [default = 0]; * @return Whether the lonOffset field is set. */ + @java.lang.Override public boolean hasLonOffset() { return ((bitField0_ & 0x00000010) != 0); } @@ -4259,6 +4314,7 @@ public boolean hasLonOffset() { * optional int64 lon_offset = 20 [default = 0]; * @return The lonOffset. */ + @java.lang.Override public long getLonOffset() { return lonOffset_; } @@ -4293,6 +4349,7 @@ public Builder clearLonOffset() { * optional int32 date_granularity = 18 [default = 1000]; * @return Whether the dateGranularity field is set. */ + @java.lang.Override public boolean hasDateGranularity() { return ((bitField0_ & 0x00000020) != 0); } @@ -4304,6 +4361,7 @@ public boolean hasDateGranularity() { * optional int32 date_granularity = 18 [default = 1000]; * @return The dateGranularity. */ + @java.lang.Override public int getDateGranularity() { return dateGranularity_; } @@ -4336,13 +4394,13 @@ public Builder clearDateGranularity() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -4353,18 +4411,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveBlock) - private static final PrimitiveBlock DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new PrimitiveBlock(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock(); } - public static PrimitiveBlock getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public PrimitiveBlock parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -4377,13 +4435,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public PrimitiveBlock getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveBlock getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -4396,12 +4454,12 @@ public interface PrimitiveGroupOrBuilder extends /** * repeated .OSMPBF.Node nodes = 1; */ - java.util.List + java.util.List getNodesList(); /** * repeated .OSMPBF.Node nodes = 1; */ - Node getNodes(int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.Node getNodes(int index); /** * repeated .OSMPBF.Node nodes = 1; */ @@ -4409,13 +4467,13 @@ public interface PrimitiveGroupOrBuilder extends /** * repeated .OSMPBF.Node nodes = 1; */ - java.util.List + java.util.List getNodesOrBuilderList(); /** * repeated .OSMPBF.Node nodes = 1; */ - NodeOrBuilder getNodesOrBuilder( - int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder getNodesOrBuilder( + int index); /** * optional .OSMPBF.DenseNodes dense = 2; @@ -4426,21 +4484,21 @@ NodeOrBuilder getNodesOrBuilder( * optional .OSMPBF.DenseNodes dense = 2; * @return The dense. */ - DenseNodes getDense(); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDense(); /** * optional .OSMPBF.DenseNodes dense = 2; */ - DenseNodesOrBuilder getDenseOrBuilder(); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder getDenseOrBuilder(); /** * repeated .OSMPBF.Way ways = 3; */ - java.util.List + java.util.List getWaysList(); /** * repeated .OSMPBF.Way ways = 3; */ - Way getWays(int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.Way getWays(int index); /** * repeated .OSMPBF.Way ways = 3; */ @@ -4448,23 +4506,23 @@ NodeOrBuilder getNodesOrBuilder( /** * repeated .OSMPBF.Way ways = 3; */ - java.util.List + java.util.List getWaysOrBuilderList(); /** * repeated .OSMPBF.Way ways = 3; */ - WayOrBuilder getWaysOrBuilder( - int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder getWaysOrBuilder( + int index); /** * repeated .OSMPBF.Relation relations = 4; */ - java.util.List + java.util.List getRelationsList(); /** * repeated .OSMPBF.Relation relations = 4; */ - Relation getRelations(int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getRelations(int index); /** * repeated .OSMPBF.Relation relations = 4; */ @@ -4472,23 +4530,23 @@ WayOrBuilder getWaysOrBuilder( /** * repeated .OSMPBF.Relation relations = 4; */ - java.util.List + java.util.List getRelationsOrBuilderList(); /** * repeated .OSMPBF.Relation relations = 4; */ - RelationOrBuilder getRelationsOrBuilder( - int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder getRelationsOrBuilder( + int index); /** * repeated .OSMPBF.ChangeSet changesets = 5; */ - java.util.List + java.util.List getChangesetsList(); /** * repeated .OSMPBF.ChangeSet changesets = 5; */ - ChangeSet getChangesets(int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getChangesets(int index); /** * repeated .OSMPBF.ChangeSet changesets = 5; */ @@ -4496,13 +4554,13 @@ RelationOrBuilder getRelationsOrBuilder( /** * repeated .OSMPBF.ChangeSet changesets = 5; */ - java.util.List + java.util.List getChangesetsOrBuilderList(); /** * repeated .OSMPBF.ChangeSet changesets = 5; */ - ChangeSetOrBuilder getChangesetsOrBuilder( - int index); + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder( + int index); } /** *
@@ -4511,7 +4569,7 @@ ChangeSetOrBuilder getChangesetsOrBuilder(
    *
    * Protobuf type {@code OSMPBF.PrimitiveGroup}
    */
-  public  static final class PrimitiveGroup extends
+  public static final class PrimitiveGroup extends
       com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:OSMPBF.PrimitiveGroup)
       PrimitiveGroupOrBuilder {
@@ -4527,14 +4585,14 @@ private PrimitiveGroup() {
       changesets_ = java.util.Collections.emptyList();
     }
 
-    @Override
+    @java.lang.Override
     @SuppressWarnings({"unused"})
-    protected Object newInstance(
+    protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
       return new PrimitiveGroup();
     }
 
-    @Override
+    @java.lang.Override
     public final com.google.protobuf.UnknownFieldSet
     getUnknownFields() {
       return this.unknownFields;
@@ -4545,7 +4603,7 @@ private PrimitiveGroup(
         throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       if (extensionRegistry == null) {
-        throw new NullPointerException();
+        throw new java.lang.NullPointerException();
       }
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
@@ -4559,20 +4617,20 @@ private PrimitiveGroup(
               done = true;
               break;
             case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
-                nodes_ = new java.util.ArrayList();
+              if ((mutable_bitField0_ & 0x00000001) == 0) {
+                nodes_ = new java.util.ArrayList();
                 mutable_bitField0_ |= 0x00000001;
               }
               nodes_.add(
-                  input.readMessage(Node.PARSER, extensionRegistry));
+                  input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Node.PARSER, extensionRegistry));
               break;
             }
             case 18: {
-              DenseNodes.Builder subBuilder = null;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder subBuilder = null;
               if (((bitField0_ & 0x00000001) != 0)) {
                 subBuilder = dense_.toBuilder();
               }
-              dense_ = input.readMessage(DenseNodes.PARSER, extensionRegistry);
+              dense_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.PARSER, extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(dense_);
                 dense_ = subBuilder.buildPartial();
@@ -4581,30 +4639,30 @@ private PrimitiveGroup(
               break;
             }
             case 26: {
-              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
-                ways_ = new java.util.ArrayList();
+              if ((mutable_bitField0_ & 0x00000004) == 0) {
+                ways_ = new java.util.ArrayList();
                 mutable_bitField0_ |= 0x00000004;
               }
               ways_.add(
-                  input.readMessage(Way.PARSER, extensionRegistry));
+                  input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Way.PARSER, extensionRegistry));
               break;
             }
             case 34: {
-              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
-                relations_ = new java.util.ArrayList();
+              if ((mutable_bitField0_ & 0x00000008) == 0) {
+                relations_ = new java.util.ArrayList();
                 mutable_bitField0_ |= 0x00000008;
               }
               relations_.add(
-                  input.readMessage(Relation.PARSER, extensionRegistry));
+                  input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.PARSER, extensionRegistry));
               break;
             }
             case 42: {
-              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
-                changesets_ = new java.util.ArrayList();
+              if ((mutable_bitField0_ & 0x00000010) == 0) {
+                changesets_ = new java.util.ArrayList();
                 mutable_bitField0_ |= 0x00000010;
               }
               changesets_.add(
-                  input.readMessage(ChangeSet.PARSER, extensionRegistry));
+                  input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.PARSER, extensionRegistry));
               break;
             }
             default: {
@@ -4618,6 +4676,8 @@ private PrimitiveGroup(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
@@ -4640,59 +4700,65 @@ private PrimitiveGroup(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return internal_static_OSMPBF_PrimitiveGroup_descriptor;
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveGroup_descriptor;
     }
 
-    @Override
-    protected FieldAccessorTable
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              PrimitiveGroup.class, PrimitiveGroup.Builder.class);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.class, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder.class);
     }
 
     private int bitField0_;
     public static final int NODES_FIELD_NUMBER = 1;
-    private java.util.List nodes_;
+    private java.util.List nodes_;
     /**
      * repeated .OSMPBF.Node nodes = 1;
      */
-    public java.util.List getNodesList() {
+    @java.lang.Override
+    public java.util.List getNodesList() {
       return nodes_;
     }
     /**
      * repeated .OSMPBF.Node nodes = 1;
      */
-    public java.util.List 
+    @java.lang.Override
+    public java.util.List
         getNodesOrBuilderList() {
       return nodes_;
     }
     /**
      * repeated .OSMPBF.Node nodes = 1;
      */
+    @java.lang.Override
     public int getNodesCount() {
       return nodes_.size();
     }
     /**
      * repeated .OSMPBF.Node nodes = 1;
      */
-    public Node getNodes(int index) {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Node getNodes(int index) {
       return nodes_.get(index);
     }
     /**
      * repeated .OSMPBF.Node nodes = 1;
      */
-    public NodeOrBuilder getNodesOrBuilder(
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder getNodesOrBuilder(
         int index) {
       return nodes_.get(index);
     }
 
     public static final int DENSE_FIELD_NUMBER = 2;
-    private DenseNodes dense_;
+    private org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes dense_;
     /**
      * optional .OSMPBF.DenseNodes dense = 2;
      * @return Whether the dense field is set.
      */
+    @java.lang.Override
     public boolean hasDense() {
       return ((bitField0_ & 0x00000001) != 0);
     }
@@ -4700,123 +4766,140 @@ public boolean hasDense() {
      * optional .OSMPBF.DenseNodes dense = 2;
      * @return The dense.
      */
-    public DenseNodes getDense() {
-      return dense_ == null ? DenseNodes.getDefaultInstance() : dense_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDense() {
+      return dense_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance() : dense_;
     }
     /**
      * optional .OSMPBF.DenseNodes dense = 2;
      */
-    public DenseNodesOrBuilder getDenseOrBuilder() {
-      return dense_ == null ? DenseNodes.getDefaultInstance() : dense_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder getDenseOrBuilder() {
+      return dense_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance() : dense_;
     }
 
     public static final int WAYS_FIELD_NUMBER = 3;
-    private java.util.List ways_;
+    private java.util.List ways_;
     /**
      * repeated .OSMPBF.Way ways = 3;
      */
-    public java.util.List getWaysList() {
+    @java.lang.Override
+    public java.util.List getWaysList() {
       return ways_;
     }
     /**
      * repeated .OSMPBF.Way ways = 3;
      */
-    public java.util.List 
+    @java.lang.Override
+    public java.util.List
         getWaysOrBuilderList() {
       return ways_;
     }
     /**
      * repeated .OSMPBF.Way ways = 3;
      */
+    @java.lang.Override
     public int getWaysCount() {
       return ways_.size();
     }
     /**
      * repeated .OSMPBF.Way ways = 3;
      */
-    public Way getWays(int index) {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Way getWays(int index) {
       return ways_.get(index);
     }
     /**
      * repeated .OSMPBF.Way ways = 3;
      */
-    public WayOrBuilder getWaysOrBuilder(
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder getWaysOrBuilder(
         int index) {
       return ways_.get(index);
     }
 
     public static final int RELATIONS_FIELD_NUMBER = 4;
-    private java.util.List relations_;
+    private java.util.List relations_;
     /**
      * repeated .OSMPBF.Relation relations = 4;
      */
-    public java.util.List getRelationsList() {
+    @java.lang.Override
+    public java.util.List getRelationsList() {
       return relations_;
     }
     /**
      * repeated .OSMPBF.Relation relations = 4;
      */
-    public java.util.List 
+    @java.lang.Override
+    public java.util.List
         getRelationsOrBuilderList() {
       return relations_;
     }
     /**
      * repeated .OSMPBF.Relation relations = 4;
      */
+    @java.lang.Override
     public int getRelationsCount() {
       return relations_.size();
     }
     /**
      * repeated .OSMPBF.Relation relations = 4;
      */
-    public Relation getRelations(int index) {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getRelations(int index) {
       return relations_.get(index);
     }
     /**
      * repeated .OSMPBF.Relation relations = 4;
      */
-    public RelationOrBuilder getRelationsOrBuilder(
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder getRelationsOrBuilder(
         int index) {
       return relations_.get(index);
     }
 
     public static final int CHANGESETS_FIELD_NUMBER = 5;
-    private java.util.List changesets_;
+    private java.util.List changesets_;
     /**
      * repeated .OSMPBF.ChangeSet changesets = 5;
      */
-    public java.util.List getChangesetsList() {
+    @java.lang.Override
+    public java.util.List getChangesetsList() {
       return changesets_;
     }
     /**
      * repeated .OSMPBF.ChangeSet changesets = 5;
      */
-    public java.util.List 
+    @java.lang.Override
+    public java.util.List
         getChangesetsOrBuilderList() {
       return changesets_;
     }
     /**
      * repeated .OSMPBF.ChangeSet changesets = 5;
      */
+    @java.lang.Override
     public int getChangesetsCount() {
       return changesets_.size();
     }
     /**
      * repeated .OSMPBF.ChangeSet changesets = 5;
      */
-    public ChangeSet getChangesets(int index) {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getChangesets(int index) {
       return changesets_.get(index);
     }
     /**
      * repeated .OSMPBF.ChangeSet changesets = 5;
      */
-    public ChangeSetOrBuilder getChangesetsOrBuilder(
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(
         int index) {
       return changesets_.get(index);
     }
 
     private byte memoizedIsInitialized = -1;
-    @Override
+    @java.lang.Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized == 1) return true;
@@ -4850,7 +4933,7 @@ public final boolean isInitialized() {
       return true;
     }
 
-    @Override
+    @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       for (int i = 0; i < nodes_.size(); i++) {
@@ -4871,7 +4954,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       unknownFields.writeTo(output);
     }
 
-    @Override
+    @java.lang.Override
     public int getSerializedSize() {
       int size = memoizedSize;
       if (size != -1) return size;
@@ -4902,15 +4985,15 @@ public int getSerializedSize() {
       return size;
     }
 
-    @Override
-    public boolean equals(final Object obj) {
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof PrimitiveGroup)) {
+      if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup)) {
         return super.equals(obj);
       }
-      PrimitiveGroup other = (PrimitiveGroup) obj;
+      org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup other = (org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup) obj;
 
       if (!getNodesList()
           .equals(other.getNodesList())) return false;
@@ -4925,11 +5008,10 @@ public boolean equals(final Object obj) {
           .equals(other.getRelationsList())) return false;
       if (!getChangesetsList()
           .equals(other.getChangesetsList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
-      return true;
+      return unknownFields.equals(other.unknownFields);
     }
 
-    @Override
+    @java.lang.Override
     public int hashCode() {
       if (memoizedHashCode != 0) {
         return memoizedHashCode;
@@ -4961,69 +5043,69 @@ public int hashCode() {
       return hash;
     }
 
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static PrimitiveGroup parseFrom(byte[] data)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static PrimitiveGroup parseFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup 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 PrimitiveGroup parseDelimitedFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static PrimitiveGroup parseDelimitedFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup 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 PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static PrimitiveGroup parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -5031,23 +5113,23 @@ public static PrimitiveGroup parseFrom(
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    @Override
+    @java.lang.Override
     public Builder newBuilderForType() { return newBuilder(); }
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(PrimitiveGroup prototype) {
+    public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
-    @Override
+    @java.lang.Override
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
           ? new Builder() : new Builder().mergeFrom(this);
     }
 
-    @Override
+    @java.lang.Override
     protected Builder newBuilderForType(
-        BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -5061,27 +5143,27 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
         // @@protoc_insertion_point(builder_implements:OSMPBF.PrimitiveGroup)
-        PrimitiveGroupOrBuilder {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroupOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return internal_static_OSMPBF_PrimitiveGroup_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveGroup_descriptor;
       }
 
-      @Override
-      protected FieldAccessorTable
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                PrimitiveGroup.class, PrimitiveGroup.Builder.class);
+                org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.class, org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.Builder.class);
       }
 
-      // Construct using PrimitiveGroup.newBuilder()
+      // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
 
       private Builder(
-          BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -5095,7 +5177,7 @@ private void maybeForceBuilderInitialization() {
           getChangesetsFieldBuilder();
         }
       }
-      @Override
+      @java.lang.Override
       public Builder clear() {
         super.clear();
         if (nodesBuilder_ == null) {
@@ -5131,29 +5213,29 @@ public Builder clear() {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return internal_static_OSMPBF_PrimitiveGroup_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_PrimitiveGroup_descriptor;
       }
 
-      @Override
-      public PrimitiveGroup getDefaultInstanceForType() {
-        return PrimitiveGroup.getDefaultInstance();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getDefaultInstanceForType() {
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.getDefaultInstance();
       }
 
-      @Override
-      public PrimitiveGroup build() {
-        PrimitiveGroup result = buildPartial();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup build() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return result;
       }
 
-      @Override
-      public PrimitiveGroup buildPartial() {
-        PrimitiveGroup result = new PrimitiveGroup(this);
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup buildPartial() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup result = new org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup(this);
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (nodesBuilder_ == null) {
@@ -5205,50 +5287,50 @@ public PrimitiveGroup buildPartial() {
         return result;
       }
 
-      @Override
+      @java.lang.Override
       public Builder clone() {
         return super.clone();
       }
-      @Override
+      @java.lang.Override
       public Builder setField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.setField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder clearField(
           com.google.protobuf.Descriptors.FieldDescriptor field) {
         return super.clearField(field);
       }
-      @Override
+      @java.lang.Override
       public Builder clearOneof(
           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return super.clearOneof(oneof);
       }
-      @Override
+      @java.lang.Override
       public Builder setRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, Object value) {
+          int index, java.lang.Object value) {
         return super.setRepeatedField(field, index, value);
       }
-      @Override
+      @java.lang.Override
       public Builder addRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.addRepeatedField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof PrimitiveGroup) {
-          return mergeFrom((PrimitiveGroup)other);
+        if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup) {
+          return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(PrimitiveGroup other) {
-        if (other == PrimitiveGroup.getDefaultInstance()) return this;
+      public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup other) {
+        if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup.getDefaultInstance()) return this;
         if (nodesBuilder_ == null) {
           if (!other.nodes_.isEmpty()) {
             if (nodes_.isEmpty()) {
@@ -5267,7 +5349,7 @@ public Builder mergeFrom(PrimitiveGroup other) {
               nodesBuilder_ = null;
               nodes_ = other.nodes_;
               bitField0_ = (bitField0_ & ~0x00000001);
-              nodesBuilder_ = 
+              nodesBuilder_ =
                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getNodesFieldBuilder() : null;
             } else {
@@ -5296,7 +5378,7 @@ public Builder mergeFrom(PrimitiveGroup other) {
               waysBuilder_ = null;
               ways_ = other.ways_;
               bitField0_ = (bitField0_ & ~0x00000004);
-              waysBuilder_ = 
+              waysBuilder_ =
                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getWaysFieldBuilder() : null;
             } else {
@@ -5322,7 +5404,7 @@ public Builder mergeFrom(PrimitiveGroup other) {
               relationsBuilder_ = null;
               relations_ = other.relations_;
               bitField0_ = (bitField0_ & ~0x00000008);
-              relationsBuilder_ = 
+              relationsBuilder_ =
                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getRelationsFieldBuilder() : null;
             } else {
@@ -5348,7 +5430,7 @@ public Builder mergeFrom(PrimitiveGroup other) {
               changesetsBuilder_ = null;
               changesets_ = other.changesets_;
               bitField0_ = (bitField0_ & ~0x00000010);
-              changesetsBuilder_ = 
+              changesetsBuilder_ =
                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                    getChangesetsFieldBuilder() : null;
             } else {
@@ -5361,7 +5443,7 @@ public Builder mergeFrom(PrimitiveGroup other) {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public final boolean isInitialized() {
         for (int i = 0; i < getNodesCount(); i++) {
           if (!getNodes(i).isInitialized()) {
@@ -5386,16 +5468,16 @@ public final boolean isInitialized() {
         return true;
       }
 
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        PrimitiveGroup parsedMessage = null;
+        org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (PrimitiveGroup) e.getUnfinishedMessage();
+          parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -5406,22 +5488,22 @@ public Builder mergeFrom(
       }
       private int bitField0_;
 
-      private java.util.List nodes_ =
+      private java.util.List nodes_ =
         java.util.Collections.emptyList();
       private void ensureNodesIsMutable() {
-        if (!((bitField0_ & 0x00000001) != 0)) {
-          nodes_ = new java.util.ArrayList(nodes_);
+        if ((bitField0_ & 0x00000001) == 0) {
+          nodes_ = new java.util.ArrayList(nodes_);
           bitField0_ |= 0x00000001;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Node, Node.Builder, NodeOrBuilder> nodesBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Node, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder> nodesBuilder_;
 
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public java.util.List getNodesList() {
+      public java.util.List getNodesList() {
         if (nodesBuilder_ == null) {
           return java.util.Collections.unmodifiableList(nodes_);
         } else {
@@ -5441,7 +5523,7 @@ public int getNodesCount() {
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public Node getNodes(int index) {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node getNodes(int index) {
         if (nodesBuilder_ == null) {
           return nodes_.get(index);
         } else {
@@ -5452,7 +5534,7 @@ public Node getNodes(int index) {
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder setNodes(
-          int index, Node value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5469,7 +5551,7 @@ public Builder setNodes(
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder setNodes(
-          int index, Node.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.set(index, builderForValue.build());
@@ -5482,7 +5564,7 @@ public Builder setNodes(
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public Builder addNodes(Node value) {
+      public Builder addNodes(org.openstreetmap.osmosis.osmbinary.Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5499,7 +5581,7 @@ public Builder addNodes(Node value) {
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder addNodes(
-          int index, Node value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5516,7 +5598,7 @@ public Builder addNodes(
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder addNodes(
-          Node.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.add(builderForValue.build());
@@ -5530,7 +5612,7 @@ public Builder addNodes(
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder addNodes(
-          int index, Node.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.add(index, builderForValue.build());
@@ -5544,7 +5626,7 @@ public Builder addNodes(
        * repeated .OSMPBF.Node nodes = 1;
        */
       public Builder addAllNodes(
-          Iterable values) {
+          java.lang.Iterable values) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -5584,14 +5666,14 @@ public Builder removeNodes(int index) {
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public Node.Builder getNodesBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder getNodesBuilder(
           int index) {
         return getNodesFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public NodeOrBuilder getNodesOrBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder getNodesOrBuilder(
           int index) {
         if (nodesBuilder_ == null) {
           return nodes_.get(index);  } else {
@@ -5601,7 +5683,7 @@ public NodeOrBuilder getNodesOrBuilder(
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public java.util.List 
+      public java.util.List
            getNodesOrBuilderList() {
         if (nodesBuilder_ != null) {
           return nodesBuilder_.getMessageOrBuilderList();
@@ -5612,31 +5694,31 @@ public NodeOrBuilder getNodesOrBuilder(
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public Node.Builder addNodesBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder addNodesBuilder() {
         return getNodesFieldBuilder().addBuilder(
-            Node.getDefaultInstance());
+            org.openstreetmap.osmosis.osmbinary.Osmformat.Node.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public Node.Builder addNodesBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder addNodesBuilder(
           int index) {
         return getNodesFieldBuilder().addBuilder(
-            index, Node.getDefaultInstance());
+            index, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Node nodes = 1;
        */
-      public java.util.List 
+      public java.util.List
            getNodesBuilderList() {
         return getNodesFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Node, Node.Builder, NodeOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Node, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder>
           getNodesFieldBuilder() {
         if (nodesBuilder_ == null) {
           nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-              Node, Node.Builder, NodeOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Node, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder>(
                   nodes_,
                   ((bitField0_ & 0x00000001) != 0),
                   getParentForChildren(),
@@ -5646,9 +5728,9 @@ public Node.Builder addNodesBuilder(
         return nodesBuilder_;
       }
 
-      private DenseNodes dense_;
+      private org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes dense_;
       private com.google.protobuf.SingleFieldBuilderV3<
-          DenseNodes, DenseNodes.Builder, DenseNodesOrBuilder> denseBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder> denseBuilder_;
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        * @return Whether the dense field is set.
@@ -5660,9 +5742,9 @@ public boolean hasDense() {
        * optional .OSMPBF.DenseNodes dense = 2;
        * @return The dense.
        */
-      public DenseNodes getDense() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDense() {
         if (denseBuilder_ == null) {
-          return dense_ == null ? DenseNodes.getDefaultInstance() : dense_;
+          return dense_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance() : dense_;
         } else {
           return denseBuilder_.getMessage();
         }
@@ -5670,7 +5752,7 @@ public DenseNodes getDense() {
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        */
-      public Builder setDense(DenseNodes value) {
+      public Builder setDense(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes value) {
         if (denseBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5687,7 +5769,7 @@ public Builder setDense(DenseNodes value) {
        * optional .OSMPBF.DenseNodes dense = 2;
        */
       public Builder setDense(
-          DenseNodes.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder builderForValue) {
         if (denseBuilder_ == null) {
           dense_ = builderForValue.build();
           onChanged();
@@ -5700,13 +5782,13 @@ public Builder setDense(
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        */
-      public Builder mergeDense(DenseNodes value) {
+      public Builder mergeDense(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes value) {
         if (denseBuilder_ == null) {
           if (((bitField0_ & 0x00000002) != 0) &&
               dense_ != null &&
-              dense_ != DenseNodes.getDefaultInstance()) {
+              dense_ != org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance()) {
             dense_ =
-              DenseNodes.newBuilder(dense_).mergeFrom(value).buildPartial();
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.newBuilder(dense_).mergeFrom(value).buildPartial();
           } else {
             dense_ = value;
           }
@@ -5733,7 +5815,7 @@ public Builder clearDense() {
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        */
-      public DenseNodes.Builder getDenseBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder getDenseBuilder() {
         bitField0_ |= 0x00000002;
         onChanged();
         return getDenseFieldBuilder().getBuilder();
@@ -5741,23 +5823,23 @@ public DenseNodes.Builder getDenseBuilder() {
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        */
-      public DenseNodesOrBuilder getDenseOrBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder getDenseOrBuilder() {
         if (denseBuilder_ != null) {
           return denseBuilder_.getMessageOrBuilder();
         } else {
           return dense_ == null ?
-              DenseNodes.getDefaultInstance() : dense_;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance() : dense_;
         }
       }
       /**
        * optional .OSMPBF.DenseNodes dense = 2;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          DenseNodes, DenseNodes.Builder, DenseNodesOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder>
           getDenseFieldBuilder() {
         if (denseBuilder_ == null) {
           denseBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              DenseNodes, DenseNodes.Builder, DenseNodesOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder>(
                   getDense(),
                   getParentForChildren(),
                   isClean());
@@ -5766,22 +5848,22 @@ public DenseNodesOrBuilder getDenseOrBuilder() {
         return denseBuilder_;
       }
 
-      private java.util.List ways_ =
+      private java.util.List ways_ =
         java.util.Collections.emptyList();
       private void ensureWaysIsMutable() {
-        if (!((bitField0_ & 0x00000004) != 0)) {
-          ways_ = new java.util.ArrayList(ways_);
+        if ((bitField0_ & 0x00000004) == 0) {
+          ways_ = new java.util.ArrayList(ways_);
           bitField0_ |= 0x00000004;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Way, Way.Builder, WayOrBuilder> waysBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Way, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder> waysBuilder_;
 
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public java.util.List getWaysList() {
+      public java.util.List getWaysList() {
         if (waysBuilder_ == null) {
           return java.util.Collections.unmodifiableList(ways_);
         } else {
@@ -5801,7 +5883,7 @@ public int getWaysCount() {
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public Way getWays(int index) {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Way getWays(int index) {
         if (waysBuilder_ == null) {
           return ways_.get(index);
         } else {
@@ -5812,7 +5894,7 @@ public Way getWays(int index) {
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder setWays(
-          int index, Way value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5829,7 +5911,7 @@ public Builder setWays(
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder setWays(
-          int index, Way.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.set(index, builderForValue.build());
@@ -5842,7 +5924,7 @@ public Builder setWays(
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public Builder addWays(Way value) {
+      public Builder addWays(org.openstreetmap.osmosis.osmbinary.Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5859,7 +5941,7 @@ public Builder addWays(Way value) {
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder addWays(
-          int index, Way value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5876,7 +5958,7 @@ public Builder addWays(
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder addWays(
-          Way.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.add(builderForValue.build());
@@ -5890,7 +5972,7 @@ public Builder addWays(
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder addWays(
-          int index, Way.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.add(index, builderForValue.build());
@@ -5904,7 +5986,7 @@ public Builder addWays(
        * repeated .OSMPBF.Way ways = 3;
        */
       public Builder addAllWays(
-          Iterable values) {
+          java.lang.Iterable values) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -5944,14 +6026,14 @@ public Builder removeWays(int index) {
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public Way.Builder getWaysBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder getWaysBuilder(
           int index) {
         return getWaysFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public WayOrBuilder getWaysOrBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder getWaysOrBuilder(
           int index) {
         if (waysBuilder_ == null) {
           return ways_.get(index);  } else {
@@ -5961,7 +6043,7 @@ public WayOrBuilder getWaysOrBuilder(
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public java.util.List 
+      public java.util.List
            getWaysOrBuilderList() {
         if (waysBuilder_ != null) {
           return waysBuilder_.getMessageOrBuilderList();
@@ -5972,31 +6054,31 @@ public WayOrBuilder getWaysOrBuilder(
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public Way.Builder addWaysBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder addWaysBuilder() {
         return getWaysFieldBuilder().addBuilder(
-            Way.getDefaultInstance());
+            org.openstreetmap.osmosis.osmbinary.Osmformat.Way.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public Way.Builder addWaysBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder addWaysBuilder(
           int index) {
         return getWaysFieldBuilder().addBuilder(
-            index, Way.getDefaultInstance());
+            index, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Way ways = 3;
        */
-      public java.util.List 
+      public java.util.List
            getWaysBuilderList() {
         return getWaysFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Way, Way.Builder, WayOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Way, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder>
           getWaysFieldBuilder() {
         if (waysBuilder_ == null) {
           waysBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-              Way, Way.Builder, WayOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Way, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder>(
                   ways_,
                   ((bitField0_ & 0x00000004) != 0),
                   getParentForChildren(),
@@ -6006,22 +6088,22 @@ public Way.Builder addWaysBuilder(
         return waysBuilder_;
       }
 
-      private java.util.List relations_ =
+      private java.util.List relations_ =
         java.util.Collections.emptyList();
       private void ensureRelationsIsMutable() {
-        if (!((bitField0_ & 0x00000008) != 0)) {
-          relations_ = new java.util.ArrayList(relations_);
+        if ((bitField0_ & 0x00000008) == 0) {
+          relations_ = new java.util.ArrayList(relations_);
           bitField0_ |= 0x00000008;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Relation, Relation.Builder, RelationOrBuilder> relationsBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Relation, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder> relationsBuilder_;
 
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public java.util.List getRelationsList() {
+      public java.util.List getRelationsList() {
         if (relationsBuilder_ == null) {
           return java.util.Collections.unmodifiableList(relations_);
         } else {
@@ -6041,7 +6123,7 @@ public int getRelationsCount() {
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public Relation getRelations(int index) {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getRelations(int index) {
         if (relationsBuilder_ == null) {
           return relations_.get(index);
         } else {
@@ -6052,7 +6134,7 @@ public Relation getRelations(int index) {
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder setRelations(
-          int index, Relation value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6069,7 +6151,7 @@ public Builder setRelations(
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder setRelations(
-          int index, Relation.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.set(index, builderForValue.build());
@@ -6082,7 +6164,7 @@ public Builder setRelations(
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public Builder addRelations(Relation value) {
+      public Builder addRelations(org.openstreetmap.osmosis.osmbinary.Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6099,7 +6181,7 @@ public Builder addRelations(Relation value) {
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder addRelations(
-          int index, Relation value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6116,7 +6198,7 @@ public Builder addRelations(
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder addRelations(
-          Relation.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.add(builderForValue.build());
@@ -6130,7 +6212,7 @@ public Builder addRelations(
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder addRelations(
-          int index, Relation.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.add(index, builderForValue.build());
@@ -6144,7 +6226,7 @@ public Builder addRelations(
        * repeated .OSMPBF.Relation relations = 4;
        */
       public Builder addAllRelations(
-          Iterable values) {
+          java.lang.Iterable values) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -6184,14 +6266,14 @@ public Builder removeRelations(int index) {
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public Relation.Builder getRelationsBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder getRelationsBuilder(
           int index) {
         return getRelationsFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public RelationOrBuilder getRelationsOrBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder getRelationsOrBuilder(
           int index) {
         if (relationsBuilder_ == null) {
           return relations_.get(index);  } else {
@@ -6201,7 +6283,7 @@ public RelationOrBuilder getRelationsOrBuilder(
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public java.util.List 
+      public java.util.List
            getRelationsOrBuilderList() {
         if (relationsBuilder_ != null) {
           return relationsBuilder_.getMessageOrBuilderList();
@@ -6212,31 +6294,31 @@ public RelationOrBuilder getRelationsOrBuilder(
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public Relation.Builder addRelationsBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder addRelationsBuilder() {
         return getRelationsFieldBuilder().addBuilder(
-            Relation.getDefaultInstance());
+            org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public Relation.Builder addRelationsBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder addRelationsBuilder(
           int index) {
         return getRelationsFieldBuilder().addBuilder(
-            index, Relation.getDefaultInstance());
+            index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.Relation relations = 4;
        */
-      public java.util.List 
+      public java.util.List
            getRelationsBuilderList() {
         return getRelationsFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          Relation, Relation.Builder, RelationOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Relation, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder>
           getRelationsFieldBuilder() {
         if (relationsBuilder_ == null) {
           relationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-              Relation, Relation.Builder, RelationOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Relation, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder>(
                   relations_,
                   ((bitField0_ & 0x00000008) != 0),
                   getParentForChildren(),
@@ -6246,22 +6328,22 @@ public Relation.Builder addRelationsBuilder(
         return relationsBuilder_;
       }
 
-      private java.util.List changesets_ =
+      private java.util.List changesets_ =
         java.util.Collections.emptyList();
       private void ensureChangesetsIsMutable() {
-        if (!((bitField0_ & 0x00000010) != 0)) {
-          changesets_ = new java.util.ArrayList(changesets_);
+        if ((bitField0_ & 0x00000010) == 0) {
+          changesets_ = new java.util.ArrayList(changesets_);
           bitField0_ |= 0x00000010;
          }
       }
 
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          ChangeSet, ChangeSet.Builder, ChangeSetOrBuilder> changesetsBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder> changesetsBuilder_;
 
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public java.util.List getChangesetsList() {
+      public java.util.List getChangesetsList() {
         if (changesetsBuilder_ == null) {
           return java.util.Collections.unmodifiableList(changesets_);
         } else {
@@ -6281,7 +6363,7 @@ public int getChangesetsCount() {
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public ChangeSet getChangesets(int index) {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getChangesets(int index) {
         if (changesetsBuilder_ == null) {
           return changesets_.get(index);
         } else {
@@ -6292,7 +6374,7 @@ public ChangeSet getChangesets(int index) {
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder setChangesets(
-          int index, ChangeSet value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6309,7 +6391,7 @@ public Builder setChangesets(
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder setChangesets(
-          int index, ChangeSet.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.set(index, builderForValue.build());
@@ -6322,7 +6404,7 @@ public Builder setChangesets(
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public Builder addChangesets(ChangeSet value) {
+      public Builder addChangesets(org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6339,7 +6421,7 @@ public Builder addChangesets(ChangeSet value) {
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder addChangesets(
-          int index, ChangeSet value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6356,7 +6438,7 @@ public Builder addChangesets(
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder addChangesets(
-          ChangeSet.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.add(builderForValue.build());
@@ -6370,7 +6452,7 @@ public Builder addChangesets(
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder addChangesets(
-          int index, ChangeSet.Builder builderForValue) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.add(index, builderForValue.build());
@@ -6384,7 +6466,7 @@ public Builder addChangesets(
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
       public Builder addAllChangesets(
-          Iterable values) {
+          java.lang.Iterable values) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           com.google.protobuf.AbstractMessageLite.Builder.addAll(
@@ -6424,14 +6506,14 @@ public Builder removeChangesets(int index) {
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public ChangeSet.Builder getChangesetsBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder getChangesetsBuilder(
           int index) {
         return getChangesetsFieldBuilder().getBuilder(index);
       }
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public ChangeSetOrBuilder getChangesetsOrBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(
           int index) {
         if (changesetsBuilder_ == null) {
           return changesets_.get(index);  } else {
@@ -6441,7 +6523,7 @@ public ChangeSetOrBuilder getChangesetsOrBuilder(
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public java.util.List 
+      public java.util.List
            getChangesetsOrBuilderList() {
         if (changesetsBuilder_ != null) {
           return changesetsBuilder_.getMessageOrBuilderList();
@@ -6452,31 +6534,31 @@ public ChangeSetOrBuilder getChangesetsOrBuilder(
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public ChangeSet.Builder addChangesetsBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder addChangesetsBuilder() {
         return getChangesetsFieldBuilder().addBuilder(
-            ChangeSet.getDefaultInstance());
+            org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public ChangeSet.Builder addChangesetsBuilder(
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder addChangesetsBuilder(
           int index) {
         return getChangesetsFieldBuilder().addBuilder(
-            index, ChangeSet.getDefaultInstance());
+            index, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.getDefaultInstance());
       }
       /**
        * repeated .OSMPBF.ChangeSet changesets = 5;
        */
-      public java.util.List 
+      public java.util.List
            getChangesetsBuilderList() {
         return getChangesetsFieldBuilder().getBuilderList();
       }
       private com.google.protobuf.RepeatedFieldBuilderV3<
-          ChangeSet, ChangeSet.Builder, ChangeSetOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder>
           getChangesetsFieldBuilder() {
         if (changesetsBuilder_ == null) {
           changesetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
-              ChangeSet, ChangeSet.Builder, ChangeSetOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder>(
                   changesets_,
                   ((bitField0_ & 0x00000010) != 0),
                   getParentForChildren(),
@@ -6485,13 +6567,13 @@ public ChangeSet.Builder addChangesetsBuilder(
         }
         return changesetsBuilder_;
       }
-      @Override
+      @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFields(unknownFields);
       }
 
-      @Override
+      @java.lang.Override
       public final Builder mergeUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
@@ -6502,18 +6584,18 @@ public final Builder mergeUnknownFields(
     }
 
     // @@protoc_insertion_point(class_scope:OSMPBF.PrimitiveGroup)
-    private static final PrimitiveGroup DEFAULT_INSTANCE;
+    private static final org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new PrimitiveGroup();
+      DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup();
     }
 
-    public static PrimitiveGroup getDefaultInstance() {
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    @Deprecated public static final com.google.protobuf.Parser
+    @java.lang.Deprecated public static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
-      @Override
+      @java.lang.Override
       public PrimitiveGroup parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
@@ -6526,13 +6608,13 @@ public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
-    @Override
+    @java.lang.Override
     public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
-    @Override
-    public PrimitiveGroup getDefaultInstanceForType() {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.PrimitiveGroup getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -6568,7 +6650,7 @@ public interface StringTableOrBuilder extends
    *
    * Protobuf type {@code OSMPBF.StringTable}
    */
-  public  static final class StringTable extends
+  public static final class StringTable extends
       com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:OSMPBF.StringTable)
       StringTableOrBuilder {
@@ -6581,14 +6663,14 @@ private StringTable() {
       s_ = java.util.Collections.emptyList();
     }
 
-    @Override
+    @java.lang.Override
     @SuppressWarnings({"unused"})
-    protected Object newInstance(
+    protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
       return new StringTable();
     }
 
-    @Override
+    @java.lang.Override
     public final com.google.protobuf.UnknownFieldSet
     getUnknownFields() {
       return this.unknownFields;
@@ -6599,7 +6681,7 @@ private StringTable(
         throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       if (extensionRegistry == null) {
-        throw new NullPointerException();
+        throw new java.lang.NullPointerException();
       }
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
@@ -6613,7 +6695,7 @@ private StringTable(
               done = true;
               break;
             case 10: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+              if ((mutable_bitField0_ & 0x00000001) == 0) {
                 s_ = new java.util.ArrayList();
                 mutable_bitField0_ |= 0x00000001;
               }
@@ -6631,6 +6713,8 @@ private StringTable(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
@@ -6644,15 +6728,15 @@ private StringTable(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return internal_static_OSMPBF_StringTable_descriptor;
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_StringTable_descriptor;
     }
 
-    @Override
-    protected FieldAccessorTable
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return internal_static_OSMPBF_StringTable_fieldAccessorTable
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_StringTable_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              StringTable.class, StringTable.Builder.class);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.class, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder.class);
     }
 
     public static final int S_FIELD_NUMBER = 1;
@@ -6661,6 +6745,7 @@ private StringTable(
      * repeated bytes s = 1;
      * @return A list containing the s.
      */
+    @java.lang.Override
     public java.util.List
         getSList() {
       return s_;
@@ -6682,7 +6767,7 @@ public com.google.protobuf.ByteString getS(int index) {
     }
 
     private byte memoizedIsInitialized = -1;
-    @Override
+    @java.lang.Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized == 1) return true;
@@ -6692,7 +6777,7 @@ public final boolean isInitialized() {
       return true;
     }
 
-    @Override
+    @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       for (int i = 0; i < s_.size(); i++) {
@@ -6701,7 +6786,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       unknownFields.writeTo(output);
     }
 
-    @Override
+    @java.lang.Override
     public int getSerializedSize() {
       int size = memoizedSize;
       if (size != -1) return size;
@@ -6721,23 +6806,22 @@ public int getSerializedSize() {
       return size;
     }
 
-    @Override
-    public boolean equals(final Object obj) {
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof StringTable)) {
+      if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable)) {
         return super.equals(obj);
       }
-      StringTable other = (StringTable) obj;
+      org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable other = (org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable) obj;
 
       if (!getSList()
           .equals(other.getSList())) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
-      return true;
+      return unknownFields.equals(other.unknownFields);
     }
 
-    @Override
+    @java.lang.Override
     public int hashCode() {
       if (memoizedHashCode != 0) {
         return memoizedHashCode;
@@ -6753,69 +6837,69 @@ public int hashCode() {
       return hash;
     }
 
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static StringTable parseFrom(byte[] data)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static StringTable parseFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable 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 StringTable parseDelimitedFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static StringTable parseDelimitedFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable 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 StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static StringTable parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -6823,23 +6907,23 @@ public static StringTable parseFrom(
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    @Override
+    @java.lang.Override
     public Builder newBuilderForType() { return newBuilder(); }
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(StringTable prototype) {
+    public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
-    @Override
+    @java.lang.Override
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
           ? new Builder() : new Builder().mergeFrom(this);
     }
 
-    @Override
+    @java.lang.Override
     protected Builder newBuilderForType(
-        BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -6855,27 +6939,27 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
         // @@protoc_insertion_point(builder_implements:OSMPBF.StringTable)
-        StringTableOrBuilder {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.StringTableOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return internal_static_OSMPBF_StringTable_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_StringTable_descriptor;
       }
 
-      @Override
-      protected FieldAccessorTable
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return internal_static_OSMPBF_StringTable_fieldAccessorTable
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_StringTable_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                StringTable.class, StringTable.Builder.class);
+                org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.class, org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.Builder.class);
       }
 
-      // Construct using StringTable.newBuilder()
+      // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
 
       private Builder(
-          BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -6884,7 +6968,7 @@ private void maybeForceBuilderInitialization() {
                 .alwaysUseFieldBuilders) {
         }
       }
-      @Override
+      @java.lang.Override
       public Builder clear() {
         super.clear();
         s_ = java.util.Collections.emptyList();
@@ -6892,29 +6976,29 @@ public Builder clear() {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return internal_static_OSMPBF_StringTable_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_StringTable_descriptor;
       }
 
-      @Override
-      public StringTable getDefaultInstanceForType() {
-        return StringTable.getDefaultInstance();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getDefaultInstanceForType() {
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance();
       }
 
-      @Override
-      public StringTable build() {
-        StringTable result = buildPartial();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable build() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return result;
       }
 
-      @Override
-      public StringTable buildPartial() {
-        StringTable result = new StringTable(this);
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable buildPartial() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable result = new org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable(this);
         int from_bitField0_ = bitField0_;
         if (((bitField0_ & 0x00000001) != 0)) {
           s_ = java.util.Collections.unmodifiableList(s_);
@@ -6925,50 +7009,50 @@ public StringTable buildPartial() {
         return result;
       }
 
-      @Override
+      @java.lang.Override
       public Builder clone() {
         return super.clone();
       }
-      @Override
+      @java.lang.Override
       public Builder setField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.setField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder clearField(
           com.google.protobuf.Descriptors.FieldDescriptor field) {
         return super.clearField(field);
       }
-      @Override
+      @java.lang.Override
       public Builder clearOneof(
           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return super.clearOneof(oneof);
       }
-      @Override
+      @java.lang.Override
       public Builder setRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, Object value) {
+          int index, java.lang.Object value) {
         return super.setRepeatedField(field, index, value);
       }
-      @Override
+      @java.lang.Override
       public Builder addRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.addRepeatedField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof StringTable) {
-          return mergeFrom((StringTable)other);
+        if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable) {
+          return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(StringTable other) {
-        if (other == StringTable.getDefaultInstance()) return this;
+      public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable other) {
+        if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable.getDefaultInstance()) return this;
         if (!other.s_.isEmpty()) {
           if (s_.isEmpty()) {
             s_ = other.s_;
@@ -6984,21 +7068,21 @@ public Builder mergeFrom(StringTable other) {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public final boolean isInitialized() {
         return true;
       }
 
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        StringTable parsedMessage = null;
+        org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (StringTable) e.getUnfinishedMessage();
+          parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -7011,7 +7095,7 @@ public Builder mergeFrom(
 
       private java.util.List s_ = java.util.Collections.emptyList();
       private void ensureSIsMutable() {
-        if (!((bitField0_ & 0x00000001) != 0)) {
+        if ((bitField0_ & 0x00000001) == 0) {
           s_ = new java.util.ArrayList(s_);
           bitField0_ |= 0x00000001;
          }
@@ -7076,7 +7160,7 @@ public Builder addS(com.google.protobuf.ByteString value) {
        * @return This builder for chaining.
        */
       public Builder addAllS(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureSIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, s_);
@@ -7093,13 +7177,13 @@ public Builder clearS() {
         onChanged();
         return this;
       }
-      @Override
+      @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFields(unknownFields);
       }
 
-      @Override
+      @java.lang.Override
       public final Builder mergeUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
@@ -7110,18 +7194,18 @@ public final Builder mergeUnknownFields(
     }
 
     // @@protoc_insertion_point(class_scope:OSMPBF.StringTable)
-    private static final StringTable DEFAULT_INSTANCE;
+    private static final org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new StringTable();
+      DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable();
     }
 
-    public static StringTable getDefaultInstance() {
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    @Deprecated public static final com.google.protobuf.Parser
+    @java.lang.Deprecated public static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
-      @Override
+      @java.lang.Override
       public StringTable parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
@@ -7134,13 +7218,13 @@ public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
-    @Override
+    @java.lang.Override
     public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
-    @Override
-    public StringTable getDefaultInstanceForType() {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.StringTable getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -7248,12 +7332,12 @@ public interface InfoOrBuilder extends
   }
   /**
    * 
-   * Optional metadata that may be included into each primitive. 
+   * Optional metadata that may be included into each primitive.
    * 
* * Protobuf type {@code OSMPBF.Info} */ - public static final class Info extends + public static final class Info extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.Info) InfoOrBuilder { @@ -7266,14 +7350,14 @@ private Info() { version_ = -1; } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Info(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -7284,7 +7368,7 @@ private Info( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -7338,6 +7422,8 @@ private Info( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -7348,15 +7434,15 @@ private Info( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_Info_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Info_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_Info_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Info_fieldAccessorTable .ensureFieldAccessorsInitialized( - Info.class, Info.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder.class); } private int bitField0_; @@ -7366,6 +7452,7 @@ private Info( * optional int32 version = 1 [default = -1]; * @return Whether the version field is set. */ + @java.lang.Override public boolean hasVersion() { return ((bitField0_ & 0x00000001) != 0); } @@ -7373,6 +7460,7 @@ public boolean hasVersion() { * optional int32 version = 1 [default = -1]; * @return The version. */ + @java.lang.Override public int getVersion() { return version_; } @@ -7383,6 +7471,7 @@ public int getVersion() { * optional int64 timestamp = 2; * @return Whether the timestamp field is set. */ + @java.lang.Override public boolean hasTimestamp() { return ((bitField0_ & 0x00000002) != 0); } @@ -7390,6 +7479,7 @@ public boolean hasTimestamp() { * optional int64 timestamp = 2; * @return The timestamp. */ + @java.lang.Override public long getTimestamp() { return timestamp_; } @@ -7400,6 +7490,7 @@ public long getTimestamp() { * optional int64 changeset = 3; * @return Whether the changeset field is set. */ + @java.lang.Override public boolean hasChangeset() { return ((bitField0_ & 0x00000004) != 0); } @@ -7407,6 +7498,7 @@ public boolean hasChangeset() { * optional int64 changeset = 3; * @return The changeset. */ + @java.lang.Override public long getChangeset() { return changeset_; } @@ -7417,6 +7509,7 @@ public long getChangeset() { * optional int32 uid = 4; * @return Whether the uid field is set. */ + @java.lang.Override public boolean hasUid() { return ((bitField0_ & 0x00000008) != 0); } @@ -7424,6 +7517,7 @@ public boolean hasUid() { * optional int32 uid = 4; * @return The uid. */ + @java.lang.Override public int getUid() { return uid_; } @@ -7438,6 +7532,7 @@ public int getUid() { * optional uint32 user_sid = 5; * @return Whether the userSid field is set. */ + @java.lang.Override public boolean hasUserSid() { return ((bitField0_ & 0x00000010) != 0); } @@ -7449,6 +7544,7 @@ public boolean hasUserSid() { * optional uint32 user_sid = 5; * @return The userSid. */ + @java.lang.Override public int getUserSid() { return userSid_; } @@ -7470,6 +7566,7 @@ public int getUserSid() { * optional bool visible = 6; * @return Whether the visible field is set. */ + @java.lang.Override public boolean hasVisible() { return ((bitField0_ & 0x00000020) != 0); } @@ -7488,12 +7585,13 @@ public boolean hasVisible() { * optional bool visible = 6; * @return The visible. */ + @java.lang.Override public boolean getVisible() { return visible_; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -7503,7 +7601,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -7527,7 +7625,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -7562,15 +7660,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof Info)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Info)) { return super.equals(obj); } - Info other = (Info) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.Info other = (org.openstreetmap.osmosis.osmbinary.Osmformat.Info) obj; if (hasVersion() != other.hasVersion()) return false; if (hasVersion()) { @@ -7602,11 +7700,10 @@ public boolean equals(final Object obj) { if (getVisible() != other.getVisible()) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -7645,69 +7742,69 @@ public int hashCode() { return hash; } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Info parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Info parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info 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 Info parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static Info parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info 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 Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Info parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -7715,29 +7812,29 @@ public static Info parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(Info prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.Info prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
-     * Optional metadata that may be included into each primitive. 
+     * Optional metadata that may be included into each primitive.
      * 
* * Protobuf type {@code OSMPBF.Info} @@ -7745,27 +7842,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.Info) - InfoOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_Info_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Info_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_Info_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Info_fieldAccessorTable .ensureFieldAccessorsInitialized( - Info.class, Info.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder.class); } - // Construct using Info.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.Info.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -7774,7 +7871,7 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); version_ = -1; @@ -7792,29 +7889,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_Info_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Info_descriptor; } - @Override - public Info getDefaultInstanceForType() { - return Info.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance(); } - @Override - public Info build() { - Info result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.Info result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public Info buildPartial() { - Info result = new Info(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.Info result = new org.openstreetmap.osmosis.osmbinary.Osmformat.Info(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -7846,50 +7943,50 @@ public Info buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof Info) { - return mergeFrom((Info)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Info) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.Info)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(Info other) { - if (other == Info.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.Info other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance()) return this; if (other.hasVersion()) { setVersion(other.getVersion()); } @@ -7913,21 +8010,21 @@ public Builder mergeFrom(Info other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - Info parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.Info parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (Info) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.Info) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -7943,6 +8040,7 @@ public Builder mergeFrom( * optional int32 version = 1 [default = -1]; * @return Whether the version field is set. */ + @java.lang.Override public boolean hasVersion() { return ((bitField0_ & 0x00000001) != 0); } @@ -7950,6 +8048,7 @@ public boolean hasVersion() { * optional int32 version = 1 [default = -1]; * @return The version. */ + @java.lang.Override public int getVersion() { return version_; } @@ -7980,6 +8079,7 @@ public Builder clearVersion() { * optional int64 timestamp = 2; * @return Whether the timestamp field is set. */ + @java.lang.Override public boolean hasTimestamp() { return ((bitField0_ & 0x00000002) != 0); } @@ -7987,6 +8087,7 @@ public boolean hasTimestamp() { * optional int64 timestamp = 2; * @return The timestamp. */ + @java.lang.Override public long getTimestamp() { return timestamp_; } @@ -8017,6 +8118,7 @@ public Builder clearTimestamp() { * optional int64 changeset = 3; * @return Whether the changeset field is set. */ + @java.lang.Override public boolean hasChangeset() { return ((bitField0_ & 0x00000004) != 0); } @@ -8024,6 +8126,7 @@ public boolean hasChangeset() { * optional int64 changeset = 3; * @return The changeset. */ + @java.lang.Override public long getChangeset() { return changeset_; } @@ -8054,6 +8157,7 @@ public Builder clearChangeset() { * optional int32 uid = 4; * @return Whether the uid field is set. */ + @java.lang.Override public boolean hasUid() { return ((bitField0_ & 0x00000008) != 0); } @@ -8061,6 +8165,7 @@ public boolean hasUid() { * optional int32 uid = 4; * @return The uid. */ + @java.lang.Override public int getUid() { return uid_; } @@ -8095,6 +8200,7 @@ public Builder clearUid() { * optional uint32 user_sid = 5; * @return Whether the userSid field is set. */ + @java.lang.Override public boolean hasUserSid() { return ((bitField0_ & 0x00000010) != 0); } @@ -8106,6 +8212,7 @@ public boolean hasUserSid() { * optional uint32 user_sid = 5; * @return The userSid. */ + @java.lang.Override public int getUserSid() { return userSid_; } @@ -8155,6 +8262,7 @@ public Builder clearUserSid() { * optional bool visible = 6; * @return Whether the visible field is set. */ + @java.lang.Override public boolean hasVisible() { return ((bitField0_ & 0x00000020) != 0); } @@ -8173,6 +8281,7 @@ public boolean hasVisible() { * optional bool visible = 6; * @return The visible. */ + @java.lang.Override public boolean getVisible() { return visible_; } @@ -8219,13 +8328,13 @@ public Builder clearVisible() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -8236,18 +8345,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.Info) - private static final Info DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.Info DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new Info(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.Info(); } - public static Info getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Info getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public Info parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -8260,13 +8369,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public Info getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -8280,7 +8389,7 @@ public interface DenseInfoOrBuilder extends * repeated int32 version = 1 [packed = true]; * @return A list containing the version. */ - java.util.List getVersionList(); + java.util.List getVersionList(); /** * repeated int32 version = 1 [packed = true]; * @return The count of version. @@ -8301,7 +8410,7 @@ public interface DenseInfoOrBuilder extends * repeated sint64 timestamp = 2 [packed = true]; * @return A list containing the timestamp. */ - java.util.List getTimestampList(); + java.util.List getTimestampList(); /** *
      * DELTA coded
@@ -8330,7 +8439,7 @@ public interface DenseInfoOrBuilder extends
      * repeated sint64 changeset = 3 [packed = true];
      * @return A list containing the changeset.
      */
-    java.util.List getChangesetList();
+    java.util.List getChangesetList();
     /**
      * 
      * DELTA coded
@@ -8359,7 +8468,7 @@ public interface DenseInfoOrBuilder extends
      * repeated sint32 uid = 4 [packed = true];
      * @return A list containing the uid.
      */
-    java.util.List getUidList();
+    java.util.List getUidList();
     /**
      * 
      * DELTA coded
@@ -8388,7 +8497,7 @@ public interface DenseInfoOrBuilder extends
      * repeated sint32 user_sid = 5 [packed = true];
      * @return A list containing the userSid.
      */
-    java.util.List getUserSidList();
+    java.util.List getUserSidList();
     /**
      * 
      * String IDs for usernames. DELTA coded
@@ -8424,7 +8533,7 @@ public interface DenseInfoOrBuilder extends
      * repeated bool visible = 6 [packed = true];
      * @return A list containing the visible.
      */
-    java.util.List getVisibleList();
+    java.util.List getVisibleList();
     /**
      * 
      * The visible flag is used to store history information. It indicates that
@@ -8461,12 +8570,12 @@ public interface DenseInfoOrBuilder extends
   }
   /**
    * 
-   ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes. 
+   ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
    * 
* * Protobuf type {@code OSMPBF.DenseInfo} */ - public static final class DenseInfo extends + public static final class DenseInfo extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.DenseInfo) DenseInfoOrBuilder { @@ -8484,14 +8593,14 @@ private DenseInfo() { visible_ = emptyBooleanList(); } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new DenseInfo(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -8502,7 +8611,7 @@ private DenseInfo( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -8516,7 +8625,7 @@ private DenseInfo( done = true; break; case 8: { - if (!((mutable_bitField0_ & 0x00000001) != 0)) { + if ((mutable_bitField0_ & 0x00000001) == 0) { version_ = newIntList(); mutable_bitField0_ |= 0x00000001; } @@ -8526,7 +8635,7 @@ private DenseInfo( case 10: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000001) == 0 && input.getBytesUntilLimit() > 0) { version_ = newIntList(); mutable_bitField0_ |= 0x00000001; } @@ -8537,7 +8646,7 @@ private DenseInfo( break; } case 16: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if ((mutable_bitField0_ & 0x00000002) == 0) { timestamp_ = newLongList(); mutable_bitField0_ |= 0x00000002; } @@ -8547,7 +8656,7 @@ private DenseInfo( case 18: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000002) == 0 && input.getBytesUntilLimit() > 0) { timestamp_ = newLongList(); mutable_bitField0_ |= 0x00000002; } @@ -8558,7 +8667,7 @@ private DenseInfo( break; } case 24: { - if (!((mutable_bitField0_ & 0x00000004) != 0)) { + if ((mutable_bitField0_ & 0x00000004) == 0) { changeset_ = newLongList(); mutable_bitField0_ |= 0x00000004; } @@ -8568,7 +8677,7 @@ private DenseInfo( case 26: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000004) == 0 && input.getBytesUntilLimit() > 0) { changeset_ = newLongList(); mutable_bitField0_ |= 0x00000004; } @@ -8579,7 +8688,7 @@ private DenseInfo( break; } case 32: { - if (!((mutable_bitField0_ & 0x00000008) != 0)) { + if ((mutable_bitField0_ & 0x00000008) == 0) { uid_ = newIntList(); mutable_bitField0_ |= 0x00000008; } @@ -8589,7 +8698,7 @@ private DenseInfo( case 34: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000008) == 0 && input.getBytesUntilLimit() > 0) { uid_ = newIntList(); mutable_bitField0_ |= 0x00000008; } @@ -8600,7 +8709,7 @@ private DenseInfo( break; } case 40: { - if (!((mutable_bitField0_ & 0x00000010) != 0)) { + if ((mutable_bitField0_ & 0x00000010) == 0) { userSid_ = newIntList(); mutable_bitField0_ |= 0x00000010; } @@ -8610,7 +8719,7 @@ private DenseInfo( case 42: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000010) == 0 && input.getBytesUntilLimit() > 0) { userSid_ = newIntList(); mutable_bitField0_ |= 0x00000010; } @@ -8621,7 +8730,7 @@ private DenseInfo( break; } case 48: { - if (!((mutable_bitField0_ & 0x00000020) != 0)) { + if ((mutable_bitField0_ & 0x00000020) == 0) { visible_ = newBooleanList(); mutable_bitField0_ |= 0x00000020; } @@ -8631,7 +8740,7 @@ private DenseInfo( case 50: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000020) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000020) == 0 && input.getBytesUntilLimit() > 0) { visible_ = newBooleanList(); mutable_bitField0_ |= 0x00000020; } @@ -8652,6 +8761,8 @@ private DenseInfo( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -8680,15 +8791,15 @@ private DenseInfo( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_DenseInfo_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseInfo_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_DenseInfo_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( - DenseInfo.class, DenseInfo.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.class, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder.class); } public static final int VERSION_FIELD_NUMBER = 1; @@ -8697,7 +8808,8 @@ private DenseInfo( * repeated int32 version = 1 [packed = true]; * @return A list containing the version. */ - public java.util.List + @java.lang.Override + public java.util.List getVersionList() { return version_; } @@ -8728,7 +8840,8 @@ public int getVersion(int index) { * repeated sint64 timestamp = 2 [packed = true]; * @return A list containing the timestamp. */ - public java.util.List + @java.lang.Override + public java.util.List getTimestampList() { return timestamp_; } @@ -8767,7 +8880,8 @@ public long getTimestamp(int index) { * repeated sint64 changeset = 3 [packed = true]; * @return A list containing the changeset. */ - public java.util.List + @java.lang.Override + public java.util.List getChangesetList() { return changeset_; } @@ -8806,7 +8920,8 @@ public long getChangeset(int index) { * repeated sint32 uid = 4 [packed = true]; * @return A list containing the uid. */ - public java.util.List + @java.lang.Override + public java.util.List getUidList() { return uid_; } @@ -8845,7 +8960,8 @@ public int getUid(int index) { * repeated sint32 user_sid = 5 [packed = true]; * @return A list containing the userSid. */ - public java.util.List + @java.lang.Override + public java.util.List getUserSidList() { return userSid_; } @@ -8891,7 +9007,8 @@ public int getUserSid(int index) { * repeated bool visible = 6 [packed = true]; * @return A list containing the visible. */ - public java.util.List + @java.lang.Override + public java.util.List getVisibleList() { return visible_; } @@ -8935,7 +9052,7 @@ public boolean getVisible(int index) { private int visibleMemoizedSerializedSize = -1; private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -8945,7 +9062,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); @@ -8994,7 +9111,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -9086,15 +9203,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof DenseInfo)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo)) { return super.equals(obj); } - DenseInfo other = (DenseInfo) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo other = (org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo) obj; if (!getVersionList() .equals(other.getVersionList())) return false; @@ -9108,11 +9225,10 @@ public boolean equals(final Object obj) { .equals(other.getUserSidList())) return false; if (!getVisibleList() .equals(other.getVisibleList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -9148,69 +9264,69 @@ public int hashCode() { return hash; } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseInfo parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseInfo parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo 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 DenseInfo parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static DenseInfo parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo 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 DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static DenseInfo parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -9218,29 +9334,29 @@ public static DenseInfo parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(DenseInfo prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
-     ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes. 
+     ** Optional metadata that may be included into each primitive. Special dense format used in DenseNodes.
      * 
* * Protobuf type {@code OSMPBF.DenseInfo} @@ -9248,27 +9364,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.DenseInfo) - DenseInfoOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_DenseInfo_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseInfo_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_DenseInfo_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseInfo_fieldAccessorTable .ensureFieldAccessorsInitialized( - DenseInfo.class, DenseInfo.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.class, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder.class); } - // Construct using DenseInfo.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -9277,7 +9393,7 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); version_ = emptyIntList(); @@ -9295,29 +9411,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_DenseInfo_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseInfo_descriptor; } - @Override - public DenseInfo getDefaultInstanceForType() { - return DenseInfo.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance(); } - @Override - public DenseInfo build() { - DenseInfo result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public DenseInfo buildPartial() { - DenseInfo result = new DenseInfo(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo result = new org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo(this); int from_bitField0_ = bitField0_; if (((bitField0_ & 0x00000001) != 0)) { version_.makeImmutable(); @@ -9353,50 +9469,50 @@ public DenseInfo buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof DenseInfo) { - return mergeFrom((DenseInfo)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(DenseInfo other) { - if (other == DenseInfo.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance()) return this; if (!other.version_.isEmpty()) { if (version_.isEmpty()) { version_ = other.version_; @@ -9462,21 +9578,21 @@ public Builder mergeFrom(DenseInfo other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - DenseInfo parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (DenseInfo) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -9489,7 +9605,7 @@ public Builder mergeFrom( private com.google.protobuf.Internal.IntList version_ = emptyIntList(); private void ensureVersionIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { + if ((bitField0_ & 0x00000001) == 0) { version_ = mutableCopy(version_); bitField0_ |= 0x00000001; } @@ -9498,7 +9614,7 @@ private void ensureVersionIsMutable() { * repeated int32 version = 1 [packed = true]; * @return A list containing the version. */ - public java.util.List + public java.util.List getVersionList() { return ((bitField0_ & 0x00000001) != 0) ? java.util.Collections.unmodifiableList(version_) : version_; @@ -9548,7 +9664,7 @@ public Builder addVersion(int value) { * @return This builder for chaining. */ public Builder addAllVersion( - Iterable values) { + java.lang.Iterable values) { ensureVersionIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, version_); @@ -9568,7 +9684,7 @@ public Builder clearVersion() { private com.google.protobuf.Internal.LongList timestamp_ = emptyLongList(); private void ensureTimestampIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { + if ((bitField0_ & 0x00000002) == 0) { timestamp_ = mutableCopy(timestamp_); bitField0_ |= 0x00000002; } @@ -9581,7 +9697,7 @@ private void ensureTimestampIsMutable() { * repeated sint64 timestamp = 2 [packed = true]; * @return A list containing the timestamp. */ - public java.util.List + public java.util.List getTimestampList() { return ((bitField0_ & 0x00000002) != 0) ? java.util.Collections.unmodifiableList(timestamp_) : timestamp_; @@ -9651,7 +9767,7 @@ public Builder addTimestamp(long value) { * @return This builder for chaining. */ public Builder addAllTimestamp( - Iterable values) { + java.lang.Iterable values) { ensureTimestampIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, timestamp_); @@ -9675,7 +9791,7 @@ public Builder clearTimestamp() { private com.google.protobuf.Internal.LongList changeset_ = emptyLongList(); private void ensureChangesetIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if ((bitField0_ & 0x00000004) == 0) { changeset_ = mutableCopy(changeset_); bitField0_ |= 0x00000004; } @@ -9688,7 +9804,7 @@ private void ensureChangesetIsMutable() { * repeated sint64 changeset = 3 [packed = true]; * @return A list containing the changeset. */ - public java.util.List + public java.util.List getChangesetList() { return ((bitField0_ & 0x00000004) != 0) ? java.util.Collections.unmodifiableList(changeset_) : changeset_; @@ -9758,7 +9874,7 @@ public Builder addChangeset(long value) { * @return This builder for chaining. */ public Builder addAllChangeset( - Iterable values) { + java.lang.Iterable values) { ensureChangesetIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, changeset_); @@ -9782,7 +9898,7 @@ public Builder clearChangeset() { private com.google.protobuf.Internal.IntList uid_ = emptyIntList(); private void ensureUidIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { + if ((bitField0_ & 0x00000008) == 0) { uid_ = mutableCopy(uid_); bitField0_ |= 0x00000008; } @@ -9795,7 +9911,7 @@ private void ensureUidIsMutable() { * repeated sint32 uid = 4 [packed = true]; * @return A list containing the uid. */ - public java.util.List + public java.util.List getUidList() { return ((bitField0_ & 0x00000008) != 0) ? java.util.Collections.unmodifiableList(uid_) : uid_; @@ -9865,7 +9981,7 @@ public Builder addUid(int value) { * @return This builder for chaining. */ public Builder addAllUid( - Iterable values) { + java.lang.Iterable values) { ensureUidIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, uid_); @@ -9889,7 +10005,7 @@ public Builder clearUid() { private com.google.protobuf.Internal.IntList userSid_ = emptyIntList(); private void ensureUserSidIsMutable() { - if (!((bitField0_ & 0x00000010) != 0)) { + if ((bitField0_ & 0x00000010) == 0) { userSid_ = mutableCopy(userSid_); bitField0_ |= 0x00000010; } @@ -9902,7 +10018,7 @@ private void ensureUserSidIsMutable() { * repeated sint32 user_sid = 5 [packed = true]; * @return A list containing the userSid. */ - public java.util.List + public java.util.List getUserSidList() { return ((bitField0_ & 0x00000010) != 0) ? java.util.Collections.unmodifiableList(userSid_) : userSid_; @@ -9972,7 +10088,7 @@ public Builder addUserSid(int value) { * @return This builder for chaining. */ public Builder addAllUserSid( - Iterable values) { + java.lang.Iterable values) { ensureUserSidIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, userSid_); @@ -9996,7 +10112,7 @@ public Builder clearUserSid() { private com.google.protobuf.Internal.BooleanList visible_ = emptyBooleanList(); private void ensureVisibleIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { + if ((bitField0_ & 0x00000020) == 0) { visible_ = mutableCopy(visible_); bitField0_ |= 0x00000020; } @@ -10016,7 +10132,7 @@ private void ensureVisibleIsMutable() { * repeated bool visible = 6 [packed = true]; * @return A list containing the visible. */ - public java.util.List + public java.util.List getVisibleList() { return ((bitField0_ & 0x00000020) != 0) ? java.util.Collections.unmodifiableList(visible_) : visible_; @@ -10121,7 +10237,7 @@ public Builder addVisible(boolean value) { * @return This builder for chaining. */ public Builder addAllVisible( - Iterable values) { + java.lang.Iterable values) { ensureVisibleIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, visible_); @@ -10149,13 +10265,13 @@ public Builder clearVisible() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -10166,18 +10282,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.DenseInfo) - private static final DenseInfo DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new DenseInfo(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo(); } - public static DenseInfo getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public DenseInfo parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -10190,13 +10306,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public DenseInfo getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -10207,27 +10323,11 @@ public interface ChangeSetOrBuilder extends com.google.protobuf.MessageOrBuilder { /** - *
-     *   
-     *   // Parallel arrays.
-     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-     *   optional Info info = 4;
-     * 
- * * required int64 id = 1; * @return Whether the id field is set. */ boolean hasId(); /** - *
-     *   
-     *   // Parallel arrays.
-     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-     *   optional Info info = 4;
-     * 
- * * required int64 id = 1; * @return The id. */ @@ -10235,13 +10335,12 @@ public interface ChangeSetOrBuilder extends } /** *
-   * THIS IS STUB DESIGN FOR CHANGESETS. NOT USED RIGHT NOW.
-   * TODO:    REMOVE THIS?
+   * This is kept for backwards compatibility but not used anywhere.
    * 
* * Protobuf type {@code OSMPBF.ChangeSet} */ - public static final class ChangeSet extends + public static final class ChangeSet extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.ChangeSet) ChangeSetOrBuilder { @@ -10253,14 +10352,14 @@ private ChangeSet(com.google.protobuf.GeneratedMessageV3.Builder builder) { private ChangeSet() { } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new ChangeSet(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -10271,7 +10370,7 @@ private ChangeSet( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -10300,6 +10399,8 @@ private ChangeSet( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -10310,53 +10411,39 @@ private ChangeSet( } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_ChangeSet_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_ChangeSet_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_ChangeSet_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_ChangeSet_fieldAccessorTable .ensureFieldAccessorsInitialized( - ChangeSet.class, ChangeSet.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.class, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder.class); } private int bitField0_; public static final int ID_FIELD_NUMBER = 1; private long id_; /** - *
-     *   
-     *   // Parallel arrays.
-     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-     *   optional Info info = 4;
-     * 
- * * required int64 id = 1; * @return Whether the id field is set. */ + @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000001) != 0); } /** - *
-     *   
-     *   // Parallel arrays.
-     *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-     *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-     *   optional Info info = 4;
-     * 
- * * required int64 id = 1; * @return The id. */ + @java.lang.Override public long getId() { return id_; } private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -10370,7 +10457,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { if (((bitField0_ & 0x00000001) != 0)) { @@ -10379,7 +10466,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -10394,26 +10481,25 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof ChangeSet)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet)) { return super.equals(obj); } - ChangeSet other = (ChangeSet) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet other = (org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet) obj; if (hasId() != other.hasId()) return false; if (hasId()) { if (getId() != other.getId()) return false; } - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -10430,69 +10516,69 @@ public int hashCode() { return hash; } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static ChangeSet parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static ChangeSet parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet 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 ChangeSet parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static ChangeSet parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet 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 ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static ChangeSet parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -10500,30 +10586,29 @@ public static ChangeSet parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(ChangeSet prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
-     * THIS IS STUB DESIGN FOR CHANGESETS. NOT USED RIGHT NOW.
-     * TODO:    REMOVE THIS?
+     * This is kept for backwards compatibility but not used anywhere.
      * 
* * Protobuf type {@code OSMPBF.ChangeSet} @@ -10531,27 +10616,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.ChangeSet) - ChangeSetOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSetOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_ChangeSet_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_ChangeSet_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_ChangeSet_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_ChangeSet_fieldAccessorTable .ensureFieldAccessorsInitialized( - ChangeSet.class, ChangeSet.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.class, org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.Builder.class); } - // Construct using ChangeSet.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -10560,7 +10645,7 @@ private void maybeForceBuilderInitialization() { .alwaysUseFieldBuilders) { } } - @Override + @java.lang.Override public Builder clear() { super.clear(); id_ = 0L; @@ -10568,29 +10653,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_ChangeSet_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_ChangeSet_descriptor; } - @Override - public ChangeSet getDefaultInstanceForType() { - return ChangeSet.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.getDefaultInstance(); } - @Override - public ChangeSet build() { - ChangeSet result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public ChangeSet buildPartial() { - ChangeSet result = new ChangeSet(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet result = new org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -10602,50 +10687,50 @@ public ChangeSet buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof ChangeSet) { - return mergeFrom((ChangeSet)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(ChangeSet other) { - if (other == ChangeSet.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet.getDefaultInstance()) return this; if (other.hasId()) { setId(other.getId()); } @@ -10654,24 +10739,21 @@ public Builder mergeFrom(ChangeSet other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { - if (!hasId()) { - return false; - } - return true; + return hasId(); } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - ChangeSet parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (ChangeSet) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -10684,44 +10766,22 @@ public Builder mergeFrom( private long id_ ; /** - *
-       *   
-       *   // Parallel arrays.
-       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-       *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-       *   optional Info info = 4;
-       * 
- * * required int64 id = 1; * @return Whether the id field is set. */ + @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000001) != 0); } /** - *
-       *   
-       *   // Parallel arrays.
-       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-       *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-       *   optional Info info = 4;
-       * 
- * * required int64 id = 1; * @return The id. */ + @java.lang.Override public long getId() { return id_; } /** - *
-       *   
-       *   // Parallel arrays.
-       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-       *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-       *   optional Info info = 4;
-       * 
- * * required int64 id = 1; * @param value The id to set. * @return This builder for chaining. @@ -10733,14 +10793,6 @@ public Builder setId(long value) { return this; } /** - *
-       *   
-       *   // Parallel arrays.
-       *   repeated uint32 keys = 2 [packed = true]; // String IDs.
-       *   repeated uint32 vals = 3 [packed = true]; // String IDs.
-       *   optional Info info = 4;
-       * 
- * * required int64 id = 1; * @return This builder for chaining. */ @@ -10750,13 +10802,13 @@ public Builder clearId() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -10767,18 +10819,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.ChangeSet) - private static final ChangeSet DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new ChangeSet(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet(); } - public static ChangeSet getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public ChangeSet parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -10791,13 +10843,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public ChangeSet getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.ChangeSet getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -10826,7 +10878,7 @@ public interface NodeOrBuilder extends * repeated uint32 keys = 2 [packed = true]; * @return A list containing the keys. */ - java.util.List getKeysList(); + java.util.List getKeysList(); /** *
      * Parallel arrays.
@@ -10855,7 +10907,7 @@ public interface NodeOrBuilder extends
      * repeated uint32 vals = 3 [packed = true];
      * @return A list containing the vals.
      */
-    java.util.List getValsList();
+    java.util.List getValsList();
     /**
      * 
      * String IDs.
@@ -10893,7 +10945,7 @@ public interface NodeOrBuilder extends
      * optional .OSMPBF.Info info = 4;
      * @return The info.
      */
-    Info getInfo();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo();
     /**
      * 
      * May be omitted in omitmeta
@@ -10901,7 +10953,7 @@ public interface NodeOrBuilder extends
      *
      * optional .OSMPBF.Info info = 4;
      */
-    InfoOrBuilder getInfoOrBuilder();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder();
 
     /**
      * required sint64 lat = 8;
@@ -10928,7 +10980,7 @@ public interface NodeOrBuilder extends
   /**
    * Protobuf type {@code OSMPBF.Node}
    */
-  public  static final class Node extends
+  public static final class Node extends
       com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:OSMPBF.Node)
       NodeOrBuilder {
@@ -10942,14 +10994,14 @@ private Node() {
       vals_ = emptyIntList();
     }
 
-    @Override
+    @java.lang.Override
     @SuppressWarnings({"unused"})
-    protected Object newInstance(
+    protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
       return new Node();
     }
 
-    @Override
+    @java.lang.Override
     public final com.google.protobuf.UnknownFieldSet
     getUnknownFields() {
       return this.unknownFields;
@@ -10960,7 +11012,7 @@ private Node(
         throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       if (extensionRegistry == null) {
-        throw new NullPointerException();
+        throw new java.lang.NullPointerException();
       }
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
@@ -10979,7 +11031,7 @@ private Node(
               break;
             }
             case 16: {
-              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+              if ((mutable_bitField0_ & 0x00000002) == 0) {
                 keys_ = newIntList();
                 mutable_bitField0_ |= 0x00000002;
               }
@@ -10989,7 +11041,7 @@ private Node(
             case 18: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000002) == 0 && input.getBytesUntilLimit() > 0) {
                 keys_ = newIntList();
                 mutable_bitField0_ |= 0x00000002;
               }
@@ -11000,7 +11052,7 @@ private Node(
               break;
             }
             case 24: {
-              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+              if ((mutable_bitField0_ & 0x00000004) == 0) {
                 vals_ = newIntList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -11010,7 +11062,7 @@ private Node(
             case 26: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000004) == 0 && input.getBytesUntilLimit() > 0) {
                 vals_ = newIntList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -11021,11 +11073,11 @@ private Node(
               break;
             }
             case 34: {
-              Info.Builder subBuilder = null;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder subBuilder = null;
               if (((bitField0_ & 0x00000002) != 0)) {
                 subBuilder = info_.toBuilder();
               }
-              info_ = input.readMessage(Info.PARSER, extensionRegistry);
+              info_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Info.PARSER, extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(info_);
                 info_ = subBuilder.buildPartial();
@@ -11054,6 +11106,8 @@ private Node(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
@@ -11070,15 +11124,15 @@ private Node(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return internal_static_OSMPBF_Node_descriptor;
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Node_descriptor;
     }
 
-    @Override
-    protected FieldAccessorTable
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return internal_static_OSMPBF_Node_fieldAccessorTable
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Node_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              Node.class, Node.Builder.class);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Node.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder.class);
     }
 
     private int bitField0_;
@@ -11088,6 +11142,7 @@ private Node(
      * required sint64 id = 1;
      * @return Whether the id field is set.
      */
+    @java.lang.Override
     public boolean hasId() {
       return ((bitField0_ & 0x00000001) != 0);
     }
@@ -11095,6 +11150,7 @@ public boolean hasId() {
      * required sint64 id = 1;
      * @return The id.
      */
+    @java.lang.Override
     public long getId() {
       return id_;
     }
@@ -11109,7 +11165,8 @@ public long getId() {
      * repeated uint32 keys = 2 [packed = true];
      * @return A list containing the keys.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getKeysList() {
       return keys_;
     }
@@ -11148,7 +11205,8 @@ public int getKeys(int index) {
      * repeated uint32 vals = 3 [packed = true];
      * @return A list containing the vals.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getValsList() {
       return vals_;
     }
@@ -11178,7 +11236,7 @@ public int getVals(int index) {
     private int valsMemoizedSerializedSize = -1;
 
     public static final int INFO_FIELD_NUMBER = 4;
-    private Info info_;
+    private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_;
     /**
      * 
      * May be omitted in omitmeta
@@ -11187,6 +11245,7 @@ public int getVals(int index) {
      * optional .OSMPBF.Info info = 4;
      * @return Whether the info field is set.
      */
+    @java.lang.Override
     public boolean hasInfo() {
       return ((bitField0_ & 0x00000002) != 0);
     }
@@ -11198,8 +11257,9 @@ public boolean hasInfo() {
      * optional .OSMPBF.Info info = 4;
      * @return The info.
      */
-    public Info getInfo() {
-      return info_ == null ? Info.getDefaultInstance() : info_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() {
+      return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
     }
     /**
      * 
@@ -11208,8 +11268,9 @@ public Info getInfo() {
      *
      * optional .OSMPBF.Info info = 4;
      */
-    public InfoOrBuilder getInfoOrBuilder() {
-      return info_ == null ? Info.getDefaultInstance() : info_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() {
+      return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
     }
 
     public static final int LAT_FIELD_NUMBER = 8;
@@ -11218,6 +11279,7 @@ public InfoOrBuilder getInfoOrBuilder() {
      * required sint64 lat = 8;
      * @return Whether the lat field is set.
      */
+    @java.lang.Override
     public boolean hasLat() {
       return ((bitField0_ & 0x00000004) != 0);
     }
@@ -11225,6 +11287,7 @@ public boolean hasLat() {
      * required sint64 lat = 8;
      * @return The lat.
      */
+    @java.lang.Override
     public long getLat() {
       return lat_;
     }
@@ -11235,6 +11298,7 @@ public long getLat() {
      * required sint64 lon = 9;
      * @return Whether the lon field is set.
      */
+    @java.lang.Override
     public boolean hasLon() {
       return ((bitField0_ & 0x00000008) != 0);
     }
@@ -11242,12 +11306,13 @@ public boolean hasLon() {
      * required sint64 lon = 9;
      * @return The lon.
      */
+    @java.lang.Override
     public long getLon() {
       return lon_;
     }
 
     private byte memoizedIsInitialized = -1;
-    @Override
+    @java.lang.Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized == 1) return true;
@@ -11269,7 +11334,7 @@ public final boolean isInitialized() {
       return true;
     }
 
-    @Override
+    @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       getSerializedSize();
@@ -11302,7 +11367,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       unknownFields.writeTo(output);
     }
 
-    @Override
+    @java.lang.Override
     public int getSerializedSize() {
       int size = memoizedSize;
       if (size != -1) return size;
@@ -11357,15 +11422,15 @@ public int getSerializedSize() {
       return size;
     }
 
-    @Override
-    public boolean equals(final Object obj) {
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof Node)) {
+      if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Node)) {
         return super.equals(obj);
       }
-      Node other = (Node) obj;
+      org.openstreetmap.osmosis.osmbinary.Osmformat.Node other = (org.openstreetmap.osmosis.osmbinary.Osmformat.Node) obj;
 
       if (hasId() != other.hasId()) return false;
       if (hasId()) {
@@ -11391,11 +11456,10 @@ public boolean equals(final Object obj) {
         if (getLon()
             != other.getLon()) return false;
       }
-      if (!unknownFields.equals(other.unknownFields)) return false;
-      return true;
+      return unknownFields.equals(other.unknownFields);
     }
 
-    @Override
+    @java.lang.Override
     public int hashCode() {
       if (memoizedHashCode != 0) {
         return memoizedHashCode;
@@ -11434,69 +11498,69 @@ public int hashCode() {
       return hash;
     }
 
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Node parseFrom(byte[] data)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Node parseFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.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 Node parseDelimitedFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static Node parseDelimitedFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.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 Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static Node parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -11504,23 +11568,23 @@ public static Node parseFrom(
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    @Override
+    @java.lang.Override
     public Builder newBuilderForType() { return newBuilder(); }
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(Node prototype) {
+    public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.Node prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
-    @Override
+    @java.lang.Override
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
           ? new Builder() : new Builder().mergeFrom(this);
     }
 
-    @Override
+    @java.lang.Override
     protected Builder newBuilderForType(
-        BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -11530,27 +11594,27 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
         // @@protoc_insertion_point(builder_implements:OSMPBF.Node)
-        NodeOrBuilder {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.NodeOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return internal_static_OSMPBF_Node_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Node_descriptor;
       }
 
-      @Override
-      protected FieldAccessorTable
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return internal_static_OSMPBF_Node_fieldAccessorTable
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Node_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                Node.class, Node.Builder.class);
+                org.openstreetmap.osmosis.osmbinary.Osmformat.Node.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Node.Builder.class);
       }
 
-      // Construct using Node.newBuilder()
+      // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.Node.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
 
       private Builder(
-          BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -11560,7 +11624,7 @@ private void maybeForceBuilderInitialization() {
           getInfoFieldBuilder();
         }
       }
-      @Override
+      @java.lang.Override
       public Builder clear() {
         super.clear();
         id_ = 0L;
@@ -11582,29 +11646,29 @@ public Builder clear() {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return internal_static_OSMPBF_Node_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Node_descriptor;
       }
 
-      @Override
-      public Node getDefaultInstanceForType() {
-        return Node.getDefaultInstance();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node getDefaultInstanceForType() {
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.Node.getDefaultInstance();
       }
 
-      @Override
-      public Node build() {
-        Node result = buildPartial();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node build() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Node result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return result;
       }
 
-      @Override
-      public Node buildPartial() {
-        Node result = new Node(this);
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Node buildPartial() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Node result = new org.openstreetmap.osmosis.osmbinary.Osmformat.Node(this);
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -11642,50 +11706,50 @@ public Node buildPartial() {
         return result;
       }
 
-      @Override
+      @java.lang.Override
       public Builder clone() {
         return super.clone();
       }
-      @Override
+      @java.lang.Override
       public Builder setField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.setField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder clearField(
           com.google.protobuf.Descriptors.FieldDescriptor field) {
         return super.clearField(field);
       }
-      @Override
+      @java.lang.Override
       public Builder clearOneof(
           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return super.clearOneof(oneof);
       }
-      @Override
+      @java.lang.Override
       public Builder setRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, Object value) {
+          int index, java.lang.Object value) {
         return super.setRepeatedField(field, index, value);
       }
-      @Override
+      @java.lang.Override
       public Builder addRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.addRepeatedField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof Node) {
-          return mergeFrom((Node)other);
+        if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Node) {
+          return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.Node)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(Node other) {
-        if (other == Node.getDefaultInstance()) return this;
+      public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.Node other) {
+        if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.Node.getDefaultInstance()) return this;
         if (other.hasId()) {
           setId(other.getId());
         }
@@ -11723,7 +11787,7 @@ public Builder mergeFrom(Node other) {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public final boolean isInitialized() {
         if (!hasId()) {
           return false;
@@ -11731,22 +11795,19 @@ public final boolean isInitialized() {
         if (!hasLat()) {
           return false;
         }
-        if (!hasLon()) {
-          return false;
-        }
-        return true;
+        return hasLon();
       }
 
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        Node parsedMessage = null;
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Node parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (Node) e.getUnfinishedMessage();
+          parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.Node) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -11762,6 +11823,7 @@ public Builder mergeFrom(
        * required sint64 id = 1;
        * @return Whether the id field is set.
        */
+      @java.lang.Override
       public boolean hasId() {
         return ((bitField0_ & 0x00000001) != 0);
       }
@@ -11769,6 +11831,7 @@ public boolean hasId() {
        * required sint64 id = 1;
        * @return The id.
        */
+      @java.lang.Override
       public long getId() {
         return id_;
       }
@@ -11796,7 +11859,7 @@ public Builder clearId() {
 
       private com.google.protobuf.Internal.IntList keys_ = emptyIntList();
       private void ensureKeysIsMutable() {
-        if (!((bitField0_ & 0x00000002) != 0)) {
+        if ((bitField0_ & 0x00000002) == 0) {
           keys_ = mutableCopy(keys_);
           bitField0_ |= 0x00000002;
          }
@@ -11809,7 +11872,7 @@ private void ensureKeysIsMutable() {
        * repeated uint32 keys = 2 [packed = true];
        * @return A list containing the keys.
        */
-      public java.util.List
+      public java.util.List
           getKeysList() {
         return ((bitField0_ & 0x00000002) != 0) ?
                  java.util.Collections.unmodifiableList(keys_) : keys_;
@@ -11879,7 +11942,7 @@ public Builder addKeys(int value) {
        * @return This builder for chaining.
        */
       public Builder addAllKeys(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureKeysIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, keys_);
@@ -11903,7 +11966,7 @@ public Builder clearKeys() {
 
       private com.google.protobuf.Internal.IntList vals_ = emptyIntList();
       private void ensureValsIsMutable() {
-        if (!((bitField0_ & 0x00000004) != 0)) {
+        if ((bitField0_ & 0x00000004) == 0) {
           vals_ = mutableCopy(vals_);
           bitField0_ |= 0x00000004;
          }
@@ -11916,7 +11979,7 @@ private void ensureValsIsMutable() {
        * repeated uint32 vals = 3 [packed = true];
        * @return A list containing the vals.
        */
-      public java.util.List
+      public java.util.List
           getValsList() {
         return ((bitField0_ & 0x00000004) != 0) ?
                  java.util.Collections.unmodifiableList(vals_) : vals_;
@@ -11986,7 +12049,7 @@ public Builder addVals(int value) {
        * @return This builder for chaining.
        */
       public Builder addAllVals(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureValsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, vals_);
@@ -12008,9 +12071,9 @@ public Builder clearVals() {
         return this;
       }
 
-      private Info info_;
+      private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_;
       private com.google.protobuf.SingleFieldBuilderV3<
-          Info, Info.Builder, InfoOrBuilder> infoBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder> infoBuilder_;
       /**
        * 
        * May be omitted in omitmeta
@@ -12030,9 +12093,9 @@ public boolean hasInfo() {
        * optional .OSMPBF.Info info = 4;
        * @return The info.
        */
-      public Info getInfo() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() {
         if (infoBuilder_ == null) {
-          return info_ == null ? Info.getDefaultInstance() : info_;
+          return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
         } else {
           return infoBuilder_.getMessage();
         }
@@ -12044,7 +12107,7 @@ public Info getInfo() {
        *
        * optional .OSMPBF.Info info = 4;
        */
-      public Builder setInfo(Info value) {
+      public Builder setInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) {
         if (infoBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -12065,7 +12128,7 @@ public Builder setInfo(Info value) {
        * optional .OSMPBF.Info info = 4;
        */
       public Builder setInfo(
-          Info.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder builderForValue) {
         if (infoBuilder_ == null) {
           info_ = builderForValue.build();
           onChanged();
@@ -12082,13 +12145,13 @@ public Builder setInfo(
        *
        * optional .OSMPBF.Info info = 4;
        */
-      public Builder mergeInfo(Info value) {
+      public Builder mergeInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) {
         if (infoBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0) &&
               info_ != null &&
-              info_ != Info.getDefaultInstance()) {
+              info_ != org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance()) {
             info_ =
-              Info.newBuilder(info_).mergeFrom(value).buildPartial();
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
           } else {
             info_ = value;
           }
@@ -12123,7 +12186,7 @@ public Builder clearInfo() {
        *
        * optional .OSMPBF.Info info = 4;
        */
-      public Info.Builder getInfoBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder getInfoBuilder() {
         bitField0_ |= 0x00000008;
         onChanged();
         return getInfoFieldBuilder().getBuilder();
@@ -12135,12 +12198,12 @@ public Info.Builder getInfoBuilder() {
        *
        * optional .OSMPBF.Info info = 4;
        */
-      public InfoOrBuilder getInfoOrBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() {
         if (infoBuilder_ != null) {
           return infoBuilder_.getMessageOrBuilder();
         } else {
           return info_ == null ?
-              Info.getDefaultInstance() : info_;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
         }
       }
       /**
@@ -12151,11 +12214,11 @@ public InfoOrBuilder getInfoOrBuilder() {
        * optional .OSMPBF.Info info = 4;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          Info, Info.Builder, InfoOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder>
           getInfoFieldBuilder() {
         if (infoBuilder_ == null) {
           infoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              Info, Info.Builder, InfoOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder>(
                   getInfo(),
                   getParentForChildren(),
                   isClean());
@@ -12169,6 +12232,7 @@ public InfoOrBuilder getInfoOrBuilder() {
        * required sint64 lat = 8;
        * @return Whether the lat field is set.
        */
+      @java.lang.Override
       public boolean hasLat() {
         return ((bitField0_ & 0x00000010) != 0);
       }
@@ -12176,6 +12240,7 @@ public boolean hasLat() {
        * required sint64 lat = 8;
        * @return The lat.
        */
+      @java.lang.Override
       public long getLat() {
         return lat_;
       }
@@ -12206,6 +12271,7 @@ public Builder clearLat() {
        * required sint64 lon = 9;
        * @return Whether the lon field is set.
        */
+      @java.lang.Override
       public boolean hasLon() {
         return ((bitField0_ & 0x00000020) != 0);
       }
@@ -12213,6 +12279,7 @@ public boolean hasLon() {
        * required sint64 lon = 9;
        * @return The lon.
        */
+      @java.lang.Override
       public long getLon() {
         return lon_;
       }
@@ -12237,13 +12304,13 @@ public Builder clearLon() {
         onChanged();
         return this;
       }
-      @Override
+      @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFields(unknownFields);
       }
 
-      @Override
+      @java.lang.Override
       public final Builder mergeUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
@@ -12254,18 +12321,18 @@ public final Builder mergeUnknownFields(
     }
 
     // @@protoc_insertion_point(class_scope:OSMPBF.Node)
-    private static final Node DEFAULT_INSTANCE;
+    private static final org.openstreetmap.osmosis.osmbinary.Osmformat.Node DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new Node();
+      DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.Node();
     }
 
-    public static Node getDefaultInstance() {
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Node getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    @Deprecated public static final com.google.protobuf.Parser
+    @java.lang.Deprecated public static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
-      @Override
+      @java.lang.Override
       public Node parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
@@ -12278,13 +12345,13 @@ public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
-    @Override
+    @java.lang.Override
     public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
-    @Override
-    public Node getDefaultInstanceForType() {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Node getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -12302,7 +12369,7 @@ public interface DenseNodesOrBuilder extends
      * repeated sint64 id = 1 [packed = true];
      * @return A list containing the id.
      */
-    java.util.List getIdList();
+    java.util.List getIdList();
     /**
      * 
      * DELTA coded
@@ -12324,31 +12391,19 @@ public interface DenseNodesOrBuilder extends
     long getId(int index);
 
     /**
-     * 
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return Whether the denseinfo field is set. */ boolean hasDenseinfo(); /** - *
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return The denseinfo. */ - DenseInfo getDenseinfo(); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDenseinfo(); /** - *
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - DenseInfoOrBuilder getDenseinfoOrBuilder(); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder getDenseinfoOrBuilder(); /** *
@@ -12358,7 +12413,7 @@ public interface DenseNodesOrBuilder extends
      * repeated sint64 lat = 8 [packed = true];
      * @return A list containing the lat.
      */
-    java.util.List getLatList();
+    java.util.List getLatList();
     /**
      * 
      * DELTA coded
@@ -12387,7 +12442,7 @@ public interface DenseNodesOrBuilder extends
      * repeated sint64 lon = 9 [packed = true];
      * @return A list containing the lon.
      */
-    java.util.List getLonList();
+    java.util.List getLonList();
     /**
      * 
      * DELTA coded
@@ -12416,7 +12471,7 @@ public interface DenseNodesOrBuilder extends
      * repeated int32 keys_vals = 10 [packed = true];
      * @return A list containing the keysVals.
      */
-    java.util.List getKeysValsList();
+    java.util.List getKeysValsList();
     /**
      * 
      * Special packing of keys and vals into one array. May be empty if all nodes in this block are tagless.
@@ -12440,7 +12495,7 @@ public interface DenseNodesOrBuilder extends
   /**
    * Protobuf type {@code OSMPBF.DenseNodes}
    */
-  public  static final class DenseNodes extends
+  public static final class DenseNodes extends
       com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:OSMPBF.DenseNodes)
       DenseNodesOrBuilder {
@@ -12456,14 +12511,14 @@ private DenseNodes() {
       keysVals_ = emptyIntList();
     }
 
-    @Override
+    @java.lang.Override
     @SuppressWarnings({"unused"})
-    protected Object newInstance(
+    protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
       return new DenseNodes();
     }
 
-    @Override
+    @java.lang.Override
     public final com.google.protobuf.UnknownFieldSet
     getUnknownFields() {
       return this.unknownFields;
@@ -12474,7 +12529,7 @@ private DenseNodes(
         throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       if (extensionRegistry == null) {
-        throw new NullPointerException();
+        throw new java.lang.NullPointerException();
       }
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
@@ -12488,7 +12543,7 @@ private DenseNodes(
               done = true;
               break;
             case 8: {
-              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+              if ((mutable_bitField0_ & 0x00000001) == 0) {
                 id_ = newLongList();
                 mutable_bitField0_ |= 0x00000001;
               }
@@ -12498,7 +12553,7 @@ private DenseNodes(
             case 10: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000001) == 0 && input.getBytesUntilLimit() > 0) {
                 id_ = newLongList();
                 mutable_bitField0_ |= 0x00000001;
               }
@@ -12509,11 +12564,11 @@ private DenseNodes(
               break;
             }
             case 42: {
-              DenseInfo.Builder subBuilder = null;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder subBuilder = null;
               if (((bitField0_ & 0x00000001) != 0)) {
                 subBuilder = denseinfo_.toBuilder();
               }
-              denseinfo_ = input.readMessage(DenseInfo.PARSER, extensionRegistry);
+              denseinfo_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.PARSER, extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(denseinfo_);
                 denseinfo_ = subBuilder.buildPartial();
@@ -12522,7 +12577,7 @@ private DenseNodes(
               break;
             }
             case 64: {
-              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+              if ((mutable_bitField0_ & 0x00000004) == 0) {
                 lat_ = newLongList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -12532,7 +12587,7 @@ private DenseNodes(
             case 66: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000004) == 0 && input.getBytesUntilLimit() > 0) {
                 lat_ = newLongList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -12543,7 +12598,7 @@ private DenseNodes(
               break;
             }
             case 72: {
-              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
+              if ((mutable_bitField0_ & 0x00000008) == 0) {
                 lon_ = newLongList();
                 mutable_bitField0_ |= 0x00000008;
               }
@@ -12553,7 +12608,7 @@ private DenseNodes(
             case 74: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000008) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000008) == 0 && input.getBytesUntilLimit() > 0) {
                 lon_ = newLongList();
                 mutable_bitField0_ |= 0x00000008;
               }
@@ -12564,7 +12619,7 @@ private DenseNodes(
               break;
             }
             case 80: {
-              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
+              if ((mutable_bitField0_ & 0x00000010) == 0) {
                 keysVals_ = newIntList();
                 mutable_bitField0_ |= 0x00000010;
               }
@@ -12574,7 +12629,7 @@ private DenseNodes(
             case 82: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000010) == 0 && input.getBytesUntilLimit() > 0) {
                 keysVals_ = newIntList();
                 mutable_bitField0_ |= 0x00000010;
               }
@@ -12595,6 +12650,8 @@ private DenseNodes(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
@@ -12617,15 +12674,15 @@ private DenseNodes(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return internal_static_OSMPBF_DenseNodes_descriptor;
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseNodes_descriptor;
     }
 
-    @Override
-    protected FieldAccessorTable
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return internal_static_OSMPBF_DenseNodes_fieldAccessorTable
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseNodes_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              DenseNodes.class, DenseNodes.Builder.class);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.class, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder.class);
     }
 
     private int bitField0_;
@@ -12639,7 +12696,8 @@ private DenseNodes(
      * repeated sint64 id = 1 [packed = true];
      * @return A list containing the id.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getIdList() {
       return id_;
     }
@@ -12669,38 +12727,29 @@ public long getId(int index) {
     private int idMemoizedSerializedSize = -1;
 
     public static final int DENSEINFO_FIELD_NUMBER = 5;
-    private DenseInfo denseinfo_;
+    private org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo denseinfo_;
     /**
-     * 
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return Whether the denseinfo field is set. */ + @java.lang.Override public boolean hasDenseinfo() { return ((bitField0_ & 0x00000001) != 0); } /** - *
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return The denseinfo. */ - public DenseInfo getDenseinfo() { - return denseinfo_ == null ? DenseInfo.getDefaultInstance() : denseinfo_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDenseinfo() { + return denseinfo_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance() : denseinfo_; } /** - *
-     *repeated Info info = 4;
-     * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - public DenseInfoOrBuilder getDenseinfoOrBuilder() { - return denseinfo_ == null ? DenseInfo.getDefaultInstance() : denseinfo_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder getDenseinfoOrBuilder() { + return denseinfo_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance() : denseinfo_; } public static final int LAT_FIELD_NUMBER = 8; @@ -12713,7 +12762,8 @@ public DenseInfoOrBuilder getDenseinfoOrBuilder() { * repeated sint64 lat = 8 [packed = true]; * @return A list containing the lat. */ - public java.util.List + @java.lang.Override + public java.util.List getLatList() { return lat_; } @@ -12752,7 +12802,8 @@ public long getLat(int index) { * repeated sint64 lon = 9 [packed = true]; * @return A list containing the lon. */ - public java.util.List + @java.lang.Override + public java.util.List getLonList() { return lon_; } @@ -12791,7 +12842,8 @@ public long getLon(int index) { * repeated int32 keys_vals = 10 [packed = true]; * @return A list containing the keysVals. */ - public java.util.List + @java.lang.Override + public java.util.List getKeysValsList() { return keysVals_; } @@ -12821,7 +12873,7 @@ public int getKeysVals(int index) { private int keysValsMemoizedSerializedSize = -1; private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -12831,7 +12883,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); @@ -12869,7 +12921,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -12940,15 +12992,15 @@ public int getSerializedSize() { return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof DenseNodes)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes)) { return super.equals(obj); } - DenseNodes other = (DenseNodes) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes other = (org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes) obj; if (!getIdList() .equals(other.getIdList())) return false; @@ -12963,11 +13015,10 @@ public boolean equals(final Object obj) { .equals(other.getLonList())) return false; if (!getKeysValsList() .equals(other.getKeysValsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -12999,69 +13050,69 @@ public int hashCode() { return hash; } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseNodes parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static DenseNodes parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes 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 DenseNodes parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static DenseNodes parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes 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 DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static DenseNodes parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -13069,23 +13120,23 @@ public static DenseNodes parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(DenseNodes prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -13095,27 +13146,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.DenseNodes) - DenseNodesOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodesOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_DenseNodes_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseNodes_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_DenseNodes_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseNodes_fieldAccessorTable .ensureFieldAccessorsInitialized( - DenseNodes.class, DenseNodes.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.class, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.Builder.class); } - // Construct using DenseNodes.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -13125,7 +13176,7 @@ private void maybeForceBuilderInitialization() { getDenseinfoFieldBuilder(); } } - @Override + @java.lang.Override public Builder clear() { super.clear(); id_ = emptyLongList(); @@ -13145,29 +13196,29 @@ public Builder clear() { return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_DenseNodes_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_DenseNodes_descriptor; } - @Override - public DenseNodes getDefaultInstanceForType() { - return DenseNodes.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance(); } - @Override - public DenseNodes build() { - DenseNodes result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public DenseNodes buildPartial() { - DenseNodes result = new DenseNodes(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes result = new org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((bitField0_ & 0x00000001) != 0)) { @@ -13203,50 +13254,50 @@ public DenseNodes buildPartial() { return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof DenseNodes) { - return mergeFrom((DenseNodes)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(DenseNodes other) { - if (other == DenseNodes.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes.getDefaultInstance()) return this; if (!other.id_.isEmpty()) { if (id_.isEmpty()) { id_ = other.id_; @@ -13295,21 +13346,21 @@ public Builder mergeFrom(DenseNodes other) { return this; } - @Override + @java.lang.Override public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - DenseNodes parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (DenseNodes) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -13322,7 +13373,7 @@ public Builder mergeFrom( private com.google.protobuf.Internal.LongList id_ = emptyLongList(); private void ensureIdIsMutable() { - if (!((bitField0_ & 0x00000001) != 0)) { + if ((bitField0_ & 0x00000001) == 0) { id_ = mutableCopy(id_); bitField0_ |= 0x00000001; } @@ -13335,7 +13386,7 @@ private void ensureIdIsMutable() { * repeated sint64 id = 1 [packed = true]; * @return A list containing the id. */ - public java.util.List + public java.util.List getIdList() { return ((bitField0_ & 0x00000001) != 0) ? java.util.Collections.unmodifiableList(id_) : id_; @@ -13405,7 +13456,7 @@ public Builder addId(long value) { * @return This builder for chaining. */ public Builder addAllId( - Iterable values) { + java.lang.Iterable values) { ensureIdIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, id_); @@ -13427,14 +13478,10 @@ public Builder clearId() { return this; } - private DenseInfo denseinfo_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo denseinfo_; private com.google.protobuf.SingleFieldBuilderV3< - DenseInfo, DenseInfo.Builder, DenseInfoOrBuilder> denseinfoBuilder_; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder> denseinfoBuilder_; /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return Whether the denseinfo field is set. */ @@ -13442,28 +13489,20 @@ public boolean hasDenseinfo() { return ((bitField0_ & 0x00000002) != 0); } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; * @return The denseinfo. */ - public DenseInfo getDenseinfo() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo getDenseinfo() { if (denseinfoBuilder_ == null) { - return denseinfo_ == null ? DenseInfo.getDefaultInstance() : denseinfo_; + return denseinfo_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance() : denseinfo_; } else { return denseinfoBuilder_.getMessage(); } } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - public Builder setDenseinfo(DenseInfo value) { + public Builder setDenseinfo(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo value) { if (denseinfoBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -13477,14 +13516,10 @@ public Builder setDenseinfo(DenseInfo value) { return this; } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ public Builder setDenseinfo( - DenseInfo.Builder builderForValue) { + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder builderForValue) { if (denseinfoBuilder_ == null) { denseinfo_ = builderForValue.build(); onChanged(); @@ -13495,19 +13530,15 @@ public Builder setDenseinfo( return this; } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - public Builder mergeDenseinfo(DenseInfo value) { + public Builder mergeDenseinfo(org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo value) { if (denseinfoBuilder_ == null) { if (((bitField0_ & 0x00000002) != 0) && denseinfo_ != null && - denseinfo_ != DenseInfo.getDefaultInstance()) { + denseinfo_ != org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance()) { denseinfo_ = - DenseInfo.newBuilder(denseinfo_).mergeFrom(value).buildPartial(); + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.newBuilder(denseinfo_).mergeFrom(value).buildPartial(); } else { denseinfo_ = value; } @@ -13519,10 +13550,6 @@ public Builder mergeDenseinfo(DenseInfo value) { return this; } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ public Builder clearDenseinfo() { @@ -13536,45 +13563,33 @@ public Builder clearDenseinfo() { return this; } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - public DenseInfo.Builder getDenseinfoBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder getDenseinfoBuilder() { bitField0_ |= 0x00000002; onChanged(); return getDenseinfoFieldBuilder().getBuilder(); } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ - public DenseInfoOrBuilder getDenseinfoOrBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder getDenseinfoOrBuilder() { if (denseinfoBuilder_ != null) { return denseinfoBuilder_.getMessageOrBuilder(); } else { return denseinfo_ == null ? - DenseInfo.getDefaultInstance() : denseinfo_; + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.getDefaultInstance() : denseinfo_; } } /** - *
-       *repeated Info info = 4;
-       * 
- * * optional .OSMPBF.DenseInfo denseinfo = 5; */ private com.google.protobuf.SingleFieldBuilderV3< - DenseInfo, DenseInfo.Builder, DenseInfoOrBuilder> + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder> getDenseinfoFieldBuilder() { if (denseinfoBuilder_ == null) { denseinfoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - DenseInfo, DenseInfo.Builder, DenseInfoOrBuilder>( + org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfo.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.DenseInfoOrBuilder>( getDenseinfo(), getParentForChildren(), isClean()); @@ -13585,7 +13600,7 @@ public DenseInfoOrBuilder getDenseinfoOrBuilder() { private com.google.protobuf.Internal.LongList lat_ = emptyLongList(); private void ensureLatIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if ((bitField0_ & 0x00000004) == 0) { lat_ = mutableCopy(lat_); bitField0_ |= 0x00000004; } @@ -13598,7 +13613,7 @@ private void ensureLatIsMutable() { * repeated sint64 lat = 8 [packed = true]; * @return A list containing the lat. */ - public java.util.List + public java.util.List getLatList() { return ((bitField0_ & 0x00000004) != 0) ? java.util.Collections.unmodifiableList(lat_) : lat_; @@ -13668,7 +13683,7 @@ public Builder addLat(long value) { * @return This builder for chaining. */ public Builder addAllLat( - Iterable values) { + java.lang.Iterable values) { ensureLatIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, lat_); @@ -13692,7 +13707,7 @@ public Builder clearLat() { private com.google.protobuf.Internal.LongList lon_ = emptyLongList(); private void ensureLonIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { + if ((bitField0_ & 0x00000008) == 0) { lon_ = mutableCopy(lon_); bitField0_ |= 0x00000008; } @@ -13705,7 +13720,7 @@ private void ensureLonIsMutable() { * repeated sint64 lon = 9 [packed = true]; * @return A list containing the lon. */ - public java.util.List + public java.util.List getLonList() { return ((bitField0_ & 0x00000008) != 0) ? java.util.Collections.unmodifiableList(lon_) : lon_; @@ -13775,7 +13790,7 @@ public Builder addLon(long value) { * @return This builder for chaining. */ public Builder addAllLon( - Iterable values) { + java.lang.Iterable values) { ensureLonIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, lon_); @@ -13799,7 +13814,7 @@ public Builder clearLon() { private com.google.protobuf.Internal.IntList keysVals_ = emptyIntList(); private void ensureKeysValsIsMutable() { - if (!((bitField0_ & 0x00000010) != 0)) { + if ((bitField0_ & 0x00000010) == 0) { keysVals_ = mutableCopy(keysVals_); bitField0_ |= 0x00000010; } @@ -13812,7 +13827,7 @@ private void ensureKeysValsIsMutable() { * repeated int32 keys_vals = 10 [packed = true]; * @return A list containing the keysVals. */ - public java.util.List + public java.util.List getKeysValsList() { return ((bitField0_ & 0x00000010) != 0) ? java.util.Collections.unmodifiableList(keysVals_) : keysVals_; @@ -13882,7 +13897,7 @@ public Builder addKeysVals(int value) { * @return This builder for chaining. */ public Builder addAllKeysVals( - Iterable values) { + java.lang.Iterable values) { ensureKeysValsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, keysVals_); @@ -13903,13 +13918,13 @@ public Builder clearKeysVals() { onChanged(); return this; } - @Override + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -13920,18 +13935,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.DenseNodes) - private static final DenseNodes DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new DenseNodes(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes(); } - public static DenseNodes getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public DenseNodes parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -13944,13 +13959,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public DenseNodes getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.DenseNodes getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -13979,7 +13994,7 @@ public interface WayOrBuilder extends * repeated uint32 keys = 2 [packed = true]; * @return A list containing the keys. */ - java.util.List getKeysList(); + java.util.List getKeysList(); /** *
      * Parallel arrays.
@@ -14004,7 +14019,7 @@ public interface WayOrBuilder extends
      * repeated uint32 vals = 3 [packed = true];
      * @return A list containing the vals.
      */
-    java.util.List getValsList();
+    java.util.List getValsList();
     /**
      * repeated uint32 vals = 3 [packed = true];
      * @return The count of vals.
@@ -14026,11 +14041,11 @@ public interface WayOrBuilder extends
      * optional .OSMPBF.Info info = 4;
      * @return The info.
      */
-    Info getInfo();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo();
     /**
      * optional .OSMPBF.Info info = 4;
      */
-    InfoOrBuilder getInfoOrBuilder();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder();
 
     /**
      * 
@@ -14040,7 +14055,7 @@ public interface WayOrBuilder extends
      * repeated sint64 refs = 8 [packed = true];
      * @return A list containing the refs.
      */
-    java.util.List getRefsList();
+    java.util.List getRefsList();
     /**
      * 
      * DELTA coded
@@ -14060,11 +14075,81 @@ public interface WayOrBuilder extends
      * @return The refs at the given index.
      */
     long getRefs(int index);
+
+    /**
+     * 
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return A list containing the lat. + */ + java.util.List getLatList(); + /** + *
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return The count of lat. + */ + int getLatCount(); + /** + *
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param index The index of the element to return. + * @return The lat at the given index. + */ + long getLat(int index); + + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return A list containing the lon. + */ + java.util.List getLonList(); + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return The count of lon. + */ + int getLonCount(); + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param index The index of the element to return. + * @return The lon at the given index. + */ + long getLon(int index); } /** * Protobuf type {@code OSMPBF.Way} */ - public static final class Way extends + public static final class Way extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:OSMPBF.Way) WayOrBuilder { @@ -14077,16 +14162,18 @@ private Way() { keys_ = emptyIntList(); vals_ = emptyIntList(); refs_ = emptyLongList(); + lat_ = emptyLongList(); + lon_ = emptyLongList(); } - @Override + @java.lang.Override @SuppressWarnings({"unused"}) - protected Object newInstance( + protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Way(); } - @Override + @java.lang.Override public final com.google.protobuf.UnknownFieldSet getUnknownFields() { return this.unknownFields; @@ -14097,7 +14184,7 @@ private Way( throws com.google.protobuf.InvalidProtocolBufferException { this(); if (extensionRegistry == null) { - throw new NullPointerException(); + throw new java.lang.NullPointerException(); } int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = @@ -14116,7 +14203,7 @@ private Way( break; } case 16: { - if (!((mutable_bitField0_ & 0x00000002) != 0)) { + if ((mutable_bitField0_ & 0x00000002) == 0) { keys_ = newIntList(); mutable_bitField0_ |= 0x00000002; } @@ -14126,7 +14213,7 @@ private Way( case 18: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000002) == 0 && input.getBytesUntilLimit() > 0) { keys_ = newIntList(); mutable_bitField0_ |= 0x00000002; } @@ -14137,7 +14224,7 @@ private Way( break; } case 24: { - if (!((mutable_bitField0_ & 0x00000004) != 0)) { + if ((mutable_bitField0_ & 0x00000004) == 0) { vals_ = newIntList(); mutable_bitField0_ |= 0x00000004; } @@ -14147,7 +14234,7 @@ private Way( case 26: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000004) == 0 && input.getBytesUntilLimit() > 0) { vals_ = newIntList(); mutable_bitField0_ |= 0x00000004; } @@ -14158,11 +14245,11 @@ private Way( break; } case 34: { - Info.Builder subBuilder = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder subBuilder = null; if (((bitField0_ & 0x00000002) != 0)) { subBuilder = info_.toBuilder(); } - info_ = input.readMessage(Info.PARSER, extensionRegistry); + info_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Info.PARSER, extensionRegistry); if (subBuilder != null) { subBuilder.mergeFrom(info_); info_ = subBuilder.buildPartial(); @@ -14171,7 +14258,7 @@ private Way( break; } case 64: { - if (!((mutable_bitField0_ & 0x00000010) != 0)) { + if ((mutable_bitField0_ & 0x00000010) == 0) { refs_ = newLongList(); mutable_bitField0_ |= 0x00000010; } @@ -14181,7 +14268,7 @@ private Way( case 66: { int length = input.readRawVarint32(); int limit = input.pushLimit(length); - if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) { + if ((mutable_bitField0_ & 0x00000010) == 0 && input.getBytesUntilLimit() > 0) { refs_ = newLongList(); mutable_bitField0_ |= 0x00000010; } @@ -14191,6 +14278,48 @@ private Way( input.popLimit(limit); break; } + case 72: { + if ((mutable_bitField0_ & 0x00000020) == 0) { + lat_ = newLongList(); + mutable_bitField0_ |= 0x00000020; + } + lat_.addLong(input.readSInt64()); + break; + } + case 74: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if ((mutable_bitField0_ & 0x00000020) == 0 && input.getBytesUntilLimit() > 0) { + lat_ = newLongList(); + mutable_bitField0_ |= 0x00000020; + } + while (input.getBytesUntilLimit() > 0) { + lat_.addLong(input.readSInt64()); + } + input.popLimit(limit); + break; + } + case 80: { + if ((mutable_bitField0_ & 0x00000040) == 0) { + lon_ = newLongList(); + mutable_bitField0_ |= 0x00000040; + } + lon_.addLong(input.readSInt64()); + break; + } + case 82: { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + if ((mutable_bitField0_ & 0x00000040) == 0 && input.getBytesUntilLimit() > 0) { + lon_ = newLongList(); + mutable_bitField0_ |= 0x00000040; + } + while (input.getBytesUntilLimit() > 0) { + lon_.addLong(input.readSInt64()); + } + input.popLimit(limit); + break; + } default: { if (!parseUnknownField( input, unknownFields, extensionRegistry, tag)) { @@ -14202,6 +14331,8 @@ private Way( } } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException( e).setUnfinishedMessage(this); @@ -14215,21 +14346,27 @@ private Way( if (((mutable_bitField0_ & 0x00000010) != 0)) { refs_.makeImmutable(); // C } + if (((mutable_bitField0_ & 0x00000020) != 0)) { + lat_.makeImmutable(); // C + } + if (((mutable_bitField0_ & 0x00000040) != 0)) { + lon_.makeImmutable(); // C + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_Way_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Way_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_Way_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Way_fieldAccessorTable .ensureFieldAccessorsInitialized( - Way.class, Way.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.Way.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder.class); } private int bitField0_; @@ -14239,6 +14376,7 @@ private Way( * required int64 id = 1; * @return Whether the id field is set. */ + @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000001) != 0); } @@ -14246,6 +14384,7 @@ public boolean hasId() { * required int64 id = 1; * @return The id. */ + @java.lang.Override public long getId() { return id_; } @@ -14260,7 +14399,8 @@ public long getId() { * repeated uint32 keys = 2 [packed = true]; * @return A list containing the keys. */ - public java.util.List + @java.lang.Override + public java.util.List getKeysList() { return keys_; } @@ -14295,7 +14435,8 @@ public int getKeys(int index) { * repeated uint32 vals = 3 [packed = true]; * @return A list containing the vals. */ - public java.util.List + @java.lang.Override + public java.util.List getValsList() { return vals_; } @@ -14317,11 +14458,12 @@ public int getVals(int index) { private int valsMemoizedSerializedSize = -1; public static final int INFO_FIELD_NUMBER = 4; - private Info info_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_; /** * optional .OSMPBF.Info info = 4; * @return Whether the info field is set. */ + @java.lang.Override public boolean hasInfo() { return ((bitField0_ & 0x00000002) != 0); } @@ -14329,14 +14471,16 @@ public boolean hasInfo() { * optional .OSMPBF.Info info = 4; * @return The info. */ - public Info getInfo() { - return info_ == null ? Info.getDefaultInstance() : info_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() { + return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_; } /** * optional .OSMPBF.Info info = 4; */ - public InfoOrBuilder getInfoOrBuilder() { - return info_ == null ? Info.getDefaultInstance() : info_; + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() { + return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_; } public static final int REFS_FIELD_NUMBER = 8; @@ -14349,7 +14493,8 @@ public InfoOrBuilder getInfoOrBuilder() { * repeated sint64 refs = 8 [packed = true]; * @return A list containing the refs. */ - public java.util.List + @java.lang.Override + public java.util.List getRefsList() { return refs_; } @@ -14378,8 +14523,100 @@ public long getRefs(int index) { } private int refsMemoizedSerializedSize = -1; + public static final int LAT_FIELD_NUMBER = 9; + private com.google.protobuf.Internal.LongList lat_; + /** + *
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return A list containing the lat. + */ + @java.lang.Override + public java.util.List + getLatList() { + return lat_; + } + /** + *
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return The count of lat. + */ + public int getLatCount() { + return lat_.size(); + } + /** + *
+     * The following two fields are optional. They are only used in a special
+     * format where node locations are also added to the ways. This makes the
+     * files larger, but allows creating way geometries directly.
+     * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+     * and the number of values in refs, lat, and lon MUST be the same.
+     * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param index The index of the element to return. + * @return The lat at the given index. + */ + public long getLat(int index) { + return lat_.getLong(index); + } + private int latMemoizedSerializedSize = -1; + + public static final int LON_FIELD_NUMBER = 10; + private com.google.protobuf.Internal.LongList lon_; + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return A list containing the lon. + */ + @java.lang.Override + public java.util.List + getLonList() { + return lon_; + } + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return The count of lon. + */ + public int getLonCount() { + return lon_.size(); + } + /** + *
+     * DELTA coded, optional
+     * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param index The index of the element to return. + * @return The lon at the given index. + */ + public long getLon(int index) { + return lon_.getLong(index); + } + private int lonMemoizedSerializedSize = -1; + private byte memoizedIsInitialized = -1; - @Override + @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; @@ -14393,7 +14630,7 @@ public final boolean isInitialized() { return true; } - @Override + @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); @@ -14424,10 +14661,24 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) for (int i = 0; i < refs_.size(); i++) { output.writeSInt64NoTag(refs_.getLong(i)); } + if (getLatList().size() > 0) { + output.writeUInt32NoTag(74); + output.writeUInt32NoTag(latMemoizedSerializedSize); + } + for (int i = 0; i < lat_.size(); i++) { + output.writeSInt64NoTag(lat_.getLong(i)); + } + if (getLonList().size() > 0) { + output.writeUInt32NoTag(82); + output.writeUInt32NoTag(lonMemoizedSerializedSize); + } + for (int i = 0; i < lon_.size(); i++) { + output.writeSInt64NoTag(lon_.getLong(i)); + } unknownFields.writeTo(output); } - @Override + @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; @@ -14483,20 +14734,48 @@ public int getSerializedSize() { } refsMemoizedSerializedSize = dataSize; } - size += unknownFields.getSerializedSize(); + { + int dataSize = 0; + for (int i = 0; i < lat_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeSInt64SizeNoTag(lat_.getLong(i)); + } + size += dataSize; + if (!getLatList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + latMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < lon_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream + .computeSInt64SizeNoTag(lon_.getLong(i)); + } + size += dataSize; + if (!getLonList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream + .computeInt32SizeNoTag(dataSize); + } + lonMemoizedSerializedSize = dataSize; + } + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } - @Override - public boolean equals(final Object obj) { + @java.lang.Override + public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } - if (!(obj instanceof Way)) { + if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Way)) { return super.equals(obj); } - Way other = (Way) obj; + org.openstreetmap.osmosis.osmbinary.Osmformat.Way other = (org.openstreetmap.osmosis.osmbinary.Osmformat.Way) obj; if (hasId() != other.hasId()) return false; if (hasId()) { @@ -14514,11 +14793,14 @@ public boolean equals(final Object obj) { } if (!getRefsList() .equals(other.getRefsList())) return false; - if (!unknownFields.equals(other.unknownFields)) return false; - return true; + if (!getLatList() + .equals(other.getLatList())) return false; + if (!getLonList() + .equals(other.getLonList())) return false; + return unknownFields.equals(other.unknownFields); } - @Override + @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; @@ -14546,74 +14828,82 @@ public int hashCode() { hash = (37 * hash) + REFS_FIELD_NUMBER; hash = (53 * hash) + getRefsList().hashCode(); } + if (getLatCount() > 0) { + hash = (37 * hash) + LAT_FIELD_NUMBER; + hash = (53 * hash) + getLatList().hashCode(); + } + if (getLonCount() > 0) { + hash = (37 * hash) + LON_FIELD_NUMBER; + hash = (53 * hash) + getLonList().hashCode(); + } hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Way parseFrom(byte[] data) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } - public static Way parseFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way 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 Way parseDelimitedFrom(java.io.InputStream input) + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } - public static Way parseDelimitedFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way 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 Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } - public static Way parseFrom( + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { @@ -14621,23 +14911,23 @@ public static Way parseFrom( .parseWithIOException(PARSER, input, extensionRegistry); } - @Override + @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } - public static Builder newBuilder(Way prototype) { + public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.Way prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } - @Override + @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } - @Override + @java.lang.Override protected Builder newBuilderForType( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } @@ -14647,27 +14937,27 @@ protected Builder newBuilderForType( public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:OSMPBF.Way) - WayOrBuilder { + org.openstreetmap.osmosis.osmbinary.Osmformat.WayOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return internal_static_OSMPBF_Way_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Way_descriptor; } - @Override - protected FieldAccessorTable + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return internal_static_OSMPBF_Way_fieldAccessorTable + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Way_fieldAccessorTable .ensureFieldAccessorsInitialized( - Way.class, Way.Builder.class); + org.openstreetmap.osmosis.osmbinary.Osmformat.Way.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Way.Builder.class); } - // Construct using Way.newBuilder() + // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.Way.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( - BuilderParent parent) { + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } @@ -14677,7 +14967,7 @@ private void maybeForceBuilderInitialization() { getInfoFieldBuilder(); } } - @Override + @java.lang.Override public Builder clear() { super.clear(); id_ = 0L; @@ -14694,32 +14984,36 @@ public Builder clear() { bitField0_ = (bitField0_ & ~0x00000008); refs_ = emptyLongList(); bitField0_ = (bitField0_ & ~0x00000010); + lat_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000020); + lon_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000040); return this; } - @Override + @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { - return internal_static_OSMPBF_Way_descriptor; + return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Way_descriptor; } - @Override - public Way getDefaultInstanceForType() { - return Way.getDefaultInstance(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Way getDefaultInstanceForType() { + return org.openstreetmap.osmosis.osmbinary.Osmformat.Way.getDefaultInstance(); } - @Override - public Way build() { - Way result = buildPartial(); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Way build() { + org.openstreetmap.osmosis.osmbinary.Osmformat.Way result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } - @Override - public Way buildPartial() { - Way result = new Way(this); + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Way buildPartial() { + org.openstreetmap.osmosis.osmbinary.Osmformat.Way result = new org.openstreetmap.osmosis.osmbinary.Osmformat.Way(this); int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { @@ -14749,55 +15043,65 @@ public Way buildPartial() { bitField0_ = (bitField0_ & ~0x00000010); } result.refs_ = refs_; + if (((bitField0_ & 0x00000020) != 0)) { + lat_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.lat_ = lat_; + if (((bitField0_ & 0x00000040) != 0)) { + lon_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.lon_ = lon_; result.bitField0_ = to_bitField0_; onBuilt(); return result; } - @Override + @java.lang.Override public Builder clone() { return super.clone(); } - @Override + @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.setField(field, value); } - @Override + @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } - @Override + @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } - @Override + @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - int index, Object value) { + int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } - @Override + @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, - Object value) { + java.lang.Object value) { return super.addRepeatedField(field, value); } - @Override + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { - if (other instanceof Way) { - return mergeFrom((Way)other); + if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Way) { + return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.Way)other); } else { super.mergeFrom(other); return this; } } - public Builder mergeFrom(Way other) { - if (other == Way.getDefaultInstance()) return this; + public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.Way other) { + if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.Way.getDefaultInstance()) return this; if (other.hasId()) { setId(other.getId()); } @@ -14834,29 +15138,46 @@ public Builder mergeFrom(Way other) { } onChanged(); } + if (!other.lat_.isEmpty()) { + if (lat_.isEmpty()) { + lat_ = other.lat_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureLatIsMutable(); + lat_.addAll(other.lat_); + } + onChanged(); + } + if (!other.lon_.isEmpty()) { + if (lon_.isEmpty()) { + lon_ = other.lon_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureLonIsMutable(); + lon_.addAll(other.lon_); + } + onChanged(); + } this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } - @Override + @java.lang.Override public final boolean isInitialized() { - if (!hasId()) { - return false; - } - return true; + return hasId(); } - @Override + @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - Way parsedMessage = null; + org.openstreetmap.osmosis.osmbinary.Osmformat.Way parsedMessage = null; try { parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { - parsedMessage = (Way) e.getUnfinishedMessage(); + parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.Way) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { if (parsedMessage != null) { @@ -14872,6 +15193,7 @@ public Builder mergeFrom( * required int64 id = 1; * @return Whether the id field is set. */ + @java.lang.Override public boolean hasId() { return ((bitField0_ & 0x00000001) != 0); } @@ -14879,6 +15201,7 @@ public boolean hasId() { * required int64 id = 1; * @return The id. */ + @java.lang.Override public long getId() { return id_; } @@ -14906,7 +15229,7 @@ public Builder clearId() { private com.google.protobuf.Internal.IntList keys_ = emptyIntList(); private void ensureKeysIsMutable() { - if (!((bitField0_ & 0x00000002) != 0)) { + if ((bitField0_ & 0x00000002) == 0) { keys_ = mutableCopy(keys_); bitField0_ |= 0x00000002; } @@ -14919,7 +15242,7 @@ private void ensureKeysIsMutable() { * repeated uint32 keys = 2 [packed = true]; * @return A list containing the keys. */ - public java.util.List + public java.util.List getKeysList() { return ((bitField0_ & 0x00000002) != 0) ? java.util.Collections.unmodifiableList(keys_) : keys_; @@ -14989,7 +15312,7 @@ public Builder addKeys(int value) { * @return This builder for chaining. */ public Builder addAllKeys( - Iterable values) { + java.lang.Iterable values) { ensureKeysIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, keys_); @@ -15013,7 +15336,7 @@ public Builder clearKeys() { private com.google.protobuf.Internal.IntList vals_ = emptyIntList(); private void ensureValsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if ((bitField0_ & 0x00000004) == 0) { vals_ = mutableCopy(vals_); bitField0_ |= 0x00000004; } @@ -15022,7 +15345,7 @@ private void ensureValsIsMutable() { * repeated uint32 vals = 3 [packed = true]; * @return A list containing the vals. */ - public java.util.List + public java.util.List getValsList() { return ((bitField0_ & 0x00000004) != 0) ? java.util.Collections.unmodifiableList(vals_) : vals_; @@ -15072,7 +15395,7 @@ public Builder addVals(int value) { * @return This builder for chaining. */ public Builder addAllVals( - Iterable values) { + java.lang.Iterable values) { ensureValsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, vals_); @@ -15090,9 +15413,9 @@ public Builder clearVals() { return this; } - private Info info_; + private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_; private com.google.protobuf.SingleFieldBuilderV3< - Info, Info.Builder, InfoOrBuilder> infoBuilder_; + org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder> infoBuilder_; /** * optional .OSMPBF.Info info = 4; * @return Whether the info field is set. @@ -15104,9 +15427,9 @@ public boolean hasInfo() { * optional .OSMPBF.Info info = 4; * @return The info. */ - public Info getInfo() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() { if (infoBuilder_ == null) { - return info_ == null ? Info.getDefaultInstance() : info_; + return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_; } else { return infoBuilder_.getMessage(); } @@ -15114,7 +15437,7 @@ public Info getInfo() { /** * optional .OSMPBF.Info info = 4; */ - public Builder setInfo(Info value) { + public Builder setInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) { if (infoBuilder_ == null) { if (value == null) { throw new NullPointerException(); @@ -15131,7 +15454,7 @@ public Builder setInfo(Info value) { * optional .OSMPBF.Info info = 4; */ public Builder setInfo( - Info.Builder builderForValue) { + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder builderForValue) { if (infoBuilder_ == null) { info_ = builderForValue.build(); onChanged(); @@ -15144,13 +15467,13 @@ public Builder setInfo( /** * optional .OSMPBF.Info info = 4; */ - public Builder mergeInfo(Info value) { + public Builder mergeInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) { if (infoBuilder_ == null) { if (((bitField0_ & 0x00000008) != 0) && info_ != null && - info_ != Info.getDefaultInstance()) { + info_ != org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance()) { info_ = - Info.newBuilder(info_).mergeFrom(value).buildPartial(); + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial(); } else { info_ = value; } @@ -15177,7 +15500,7 @@ public Builder clearInfo() { /** * optional .OSMPBF.Info info = 4; */ - public Info.Builder getInfoBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder getInfoBuilder() { bitField0_ |= 0x00000008; onChanged(); return getInfoFieldBuilder().getBuilder(); @@ -15185,23 +15508,23 @@ public Info.Builder getInfoBuilder() { /** * optional .OSMPBF.Info info = 4; */ - public InfoOrBuilder getInfoOrBuilder() { + public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() { if (infoBuilder_ != null) { return infoBuilder_.getMessageOrBuilder(); } else { return info_ == null ? - Info.getDefaultInstance() : info_; + org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_; } } /** * optional .OSMPBF.Info info = 4; */ private com.google.protobuf.SingleFieldBuilderV3< - Info, Info.Builder, InfoOrBuilder> + org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder> getInfoFieldBuilder() { if (infoBuilder_ == null) { infoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< - Info, Info.Builder, InfoOrBuilder>( + org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder>( getInfo(), getParentForChildren(), isClean()); @@ -15212,7 +15535,7 @@ public InfoOrBuilder getInfoOrBuilder() { private com.google.protobuf.Internal.LongList refs_ = emptyLongList(); private void ensureRefsIsMutable() { - if (!((bitField0_ & 0x00000010) != 0)) { + if ((bitField0_ & 0x00000010) == 0) { refs_ = mutableCopy(refs_); bitField0_ |= 0x00000010; } @@ -15225,7 +15548,7 @@ private void ensureRefsIsMutable() { * repeated sint64 refs = 8 [packed = true]; * @return A list containing the refs. */ - public java.util.List + public java.util.List getRefsList() { return ((bitField0_ & 0x00000010) != 0) ? java.util.Collections.unmodifiableList(refs_) : refs_; @@ -15295,7 +15618,7 @@ public Builder addRefs(long value) { * @return This builder for chaining. */ public Builder addAllRefs( - Iterable values) { + java.lang.Iterable values) { ensureRefsIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, refs_); @@ -15316,13 +15639,255 @@ public Builder clearRefs() { onChanged(); return this; } - @Override + + private com.google.protobuf.Internal.LongList lat_ = emptyLongList(); + private void ensureLatIsMutable() { + if ((bitField0_ & 0x00000020) == 0) { + lat_ = mutableCopy(lat_); + bitField0_ |= 0x00000020; + } + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return A list containing the lat. + */ + public java.util.List + getLatList() { + return ((bitField0_ & 0x00000020) != 0) ? + java.util.Collections.unmodifiableList(lat_) : lat_; + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return The count of lat. + */ + public int getLatCount() { + return lat_.size(); + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param index The index of the element to return. + * @return The lat at the given index. + */ + public long getLat(int index) { + return lat_.getLong(index); + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param index The index to set the value at. + * @param value The lat to set. + * @return This builder for chaining. + */ + public Builder setLat( + int index, long value) { + ensureLatIsMutable(); + lat_.setLong(index, value); + onChanged(); + return this; + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param value The lat to add. + * @return This builder for chaining. + */ + public Builder addLat(long value) { + ensureLatIsMutable(); + lat_.addLong(value); + onChanged(); + return this; + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @param values The lat to add. + * @return This builder for chaining. + */ + public Builder addAllLat( + java.lang.Iterable values) { + ensureLatIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, lat_); + onChanged(); + return this; + } + /** + *
+       * The following two fields are optional. They are only used in a special
+       * format where node locations are also added to the ways. This makes the
+       * files larger, but allows creating way geometries directly.
+       * If this is used, you MUST set the optional_features tag "LocationsOnWays"
+       * and the number of values in refs, lat, and lon MUST be the same.
+       * 
+ * + * repeated sint64 lat = 9 [packed = true]; + * @return This builder for chaining. + */ + public Builder clearLat() { + lat_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.LongList lon_ = emptyLongList(); + private void ensureLonIsMutable() { + if ((bitField0_ & 0x00000040) == 0) { + lon_ = mutableCopy(lon_); + bitField0_ |= 0x00000040; + } + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return A list containing the lon. + */ + public java.util.List + getLonList() { + return ((bitField0_ & 0x00000040) != 0) ? + java.util.Collections.unmodifiableList(lon_) : lon_; + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return The count of lon. + */ + public int getLonCount() { + return lon_.size(); + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param index The index of the element to return. + * @return The lon at the given index. + */ + public long getLon(int index) { + return lon_.getLong(index); + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param index The index to set the value at. + * @param value The lon to set. + * @return This builder for chaining. + */ + public Builder setLon( + int index, long value) { + ensureLonIsMutable(); + lon_.setLong(index, value); + onChanged(); + return this; + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param value The lon to add. + * @return This builder for chaining. + */ + public Builder addLon(long value) { + ensureLonIsMutable(); + lon_.addLong(value); + onChanged(); + return this; + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @param values The lon to add. + * @return This builder for chaining. + */ + public Builder addAllLon( + java.lang.Iterable values) { + ensureLonIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, lon_); + onChanged(); + return this; + } + /** + *
+       * DELTA coded, optional
+       * 
+ * + * repeated sint64 lon = 10 [packed = true]; + * @return This builder for chaining. + */ + public Builder clearLon() { + lon_ = emptyLongList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } - @Override + @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); @@ -15333,18 +15898,18 @@ public final Builder mergeUnknownFields( } // @@protoc_insertion_point(class_scope:OSMPBF.Way) - private static final Way DEFAULT_INSTANCE; + private static final org.openstreetmap.osmosis.osmbinary.Osmformat.Way DEFAULT_INSTANCE; static { - DEFAULT_INSTANCE = new Way(); + DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.Way(); } - public static Way getDefaultInstance() { + public static org.openstreetmap.osmosis.osmbinary.Osmformat.Way getDefaultInstance() { return DEFAULT_INSTANCE; } - @Deprecated public static final com.google.protobuf.Parser + @java.lang.Deprecated public static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - @Override + @java.lang.Override public Way parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) @@ -15357,13 +15922,13 @@ public static com.google.protobuf.Parser parser() { return PARSER; } - @Override + @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } - @Override - public Way getDefaultInstanceForType() { + @java.lang.Override + public org.openstreetmap.osmosis.osmbinary.Osmformat.Way getDefaultInstanceForType() { return DEFAULT_INSTANCE; } @@ -15392,7 +15957,7 @@ public interface RelationOrBuilder extends * repeated uint32 keys = 2 [packed = true]; * @return A list containing the keys. */ - java.util.List getKeysList(); + java.util.List getKeysList(); /** *
      * Parallel arrays.
@@ -15417,7 +15982,7 @@ public interface RelationOrBuilder extends
      * repeated uint32 vals = 3 [packed = true];
      * @return A list containing the vals.
      */
-    java.util.List getValsList();
+    java.util.List getValsList();
     /**
      * repeated uint32 vals = 3 [packed = true];
      * @return The count of vals.
@@ -15439,11 +16004,11 @@ public interface RelationOrBuilder extends
      * optional .OSMPBF.Info info = 4;
      * @return The info.
      */
-    Info getInfo();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo();
     /**
      * optional .OSMPBF.Info info = 4;
      */
-    InfoOrBuilder getInfoOrBuilder();
+    org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder();
 
     /**
      * 
@@ -15453,7 +16018,7 @@ public interface RelationOrBuilder extends
      * repeated int32 roles_sid = 8 [packed = true];
      * @return A list containing the rolesSid.
      */
-    java.util.List getRolesSidList();
+    java.util.List getRolesSidList();
     /**
      * 
      * Parallel arrays
@@ -15482,7 +16047,7 @@ public interface RelationOrBuilder extends
      * repeated sint64 memids = 9 [packed = true];
      * @return A list containing the memids.
      */
-    java.util.List getMemidsList();
+    java.util.List getMemidsList();
     /**
      * 
      * DELTA encoded
@@ -15507,7 +16072,7 @@ public interface RelationOrBuilder extends
      * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
      * @return A list containing the types.
      */
-    java.util.List getTypesList();
+    java.util.List getTypesList();
     /**
      * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
      * @return The count of types.
@@ -15518,12 +16083,12 @@ public interface RelationOrBuilder extends
      * @param index The index of the element to return.
      * @return The types at the given index.
      */
-    Relation.MemberType getTypes(int index);
+    org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType getTypes(int index);
   }
   /**
    * Protobuf type {@code OSMPBF.Relation}
    */
-  public  static final class Relation extends
+  public static final class Relation extends
       com.google.protobuf.GeneratedMessageV3 implements
       // @@protoc_insertion_point(message_implements:OSMPBF.Relation)
       RelationOrBuilder {
@@ -15540,14 +16105,14 @@ private Relation() {
       types_ = java.util.Collections.emptyList();
     }
 
-    @Override
+    @java.lang.Override
     @SuppressWarnings({"unused"})
-    protected Object newInstance(
+    protected java.lang.Object newInstance(
         UnusedPrivateParameter unused) {
       return new Relation();
     }
 
-    @Override
+    @java.lang.Override
     public final com.google.protobuf.UnknownFieldSet
     getUnknownFields() {
       return this.unknownFields;
@@ -15558,7 +16123,7 @@ private Relation(
         throws com.google.protobuf.InvalidProtocolBufferException {
       this();
       if (extensionRegistry == null) {
-        throw new NullPointerException();
+        throw new java.lang.NullPointerException();
       }
       int mutable_bitField0_ = 0;
       com.google.protobuf.UnknownFieldSet.Builder unknownFields =
@@ -15577,7 +16142,7 @@ private Relation(
               break;
             }
             case 16: {
-              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+              if ((mutable_bitField0_ & 0x00000002) == 0) {
                 keys_ = newIntList();
                 mutable_bitField0_ |= 0x00000002;
               }
@@ -15587,7 +16152,7 @@ private Relation(
             case 18: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000002) == 0 && input.getBytesUntilLimit() > 0) {
                 keys_ = newIntList();
                 mutable_bitField0_ |= 0x00000002;
               }
@@ -15598,7 +16163,7 @@ private Relation(
               break;
             }
             case 24: {
-              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+              if ((mutable_bitField0_ & 0x00000004) == 0) {
                 vals_ = newIntList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -15608,7 +16173,7 @@ private Relation(
             case 26: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000004) == 0 && input.getBytesUntilLimit() > 0) {
                 vals_ = newIntList();
                 mutable_bitField0_ |= 0x00000004;
               }
@@ -15619,11 +16184,11 @@ private Relation(
               break;
             }
             case 34: {
-              Info.Builder subBuilder = null;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder subBuilder = null;
               if (((bitField0_ & 0x00000002) != 0)) {
                 subBuilder = info_.toBuilder();
               }
-              info_ = input.readMessage(Info.PARSER, extensionRegistry);
+              info_ = input.readMessage(org.openstreetmap.osmosis.osmbinary.Osmformat.Info.PARSER, extensionRegistry);
               if (subBuilder != null) {
                 subBuilder.mergeFrom(info_);
                 info_ = subBuilder.buildPartial();
@@ -15632,7 +16197,7 @@ private Relation(
               break;
             }
             case 64: {
-              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
+              if ((mutable_bitField0_ & 0x00000010) == 0) {
                 rolesSid_ = newIntList();
                 mutable_bitField0_ |= 0x00000010;
               }
@@ -15642,7 +16207,7 @@ private Relation(
             case 66: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000010) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000010) == 0 && input.getBytesUntilLimit() > 0) {
                 rolesSid_ = newIntList();
                 mutable_bitField0_ |= 0x00000010;
               }
@@ -15653,7 +16218,7 @@ private Relation(
               break;
             }
             case 72: {
-              if (!((mutable_bitField0_ & 0x00000020) != 0)) {
+              if ((mutable_bitField0_ & 0x00000020) == 0) {
                 memids_ = newLongList();
                 mutable_bitField0_ |= 0x00000020;
               }
@@ -15663,7 +16228,7 @@ private Relation(
             case 74: {
               int length = input.readRawVarint32();
               int limit = input.pushLimit(length);
-              if (!((mutable_bitField0_ & 0x00000020) != 0) && input.getBytesUntilLimit() > 0) {
+              if ((mutable_bitField0_ & 0x00000020) == 0 && input.getBytesUntilLimit() > 0) {
                 memids_ = newLongList();
                 mutable_bitField0_ |= 0x00000020;
               }
@@ -15676,12 +16241,12 @@ private Relation(
             case 80: {
               int rawValue = input.readEnum();
               @SuppressWarnings("deprecation")
-              Relation.MemberType value = Relation.MemberType.valueOf(rawValue);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType value = org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType.valueOf(rawValue);
               if (value == null) {
                 unknownFields.mergeVarintField(10, rawValue);
               } else {
-                if (!((mutable_bitField0_ & 0x00000040) != 0)) {
-                  types_ = new java.util.ArrayList();
+                if ((mutable_bitField0_ & 0x00000040) == 0) {
+                  types_ = new java.util.ArrayList();
                   mutable_bitField0_ |= 0x00000040;
                 }
                 types_.add(rawValue);
@@ -15694,12 +16259,12 @@ private Relation(
               while(input.getBytesUntilLimit() > 0) {
                 int rawValue = input.readEnum();
                 @SuppressWarnings("deprecation")
-                Relation.MemberType value = Relation.MemberType.valueOf(rawValue);
+                org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType value = org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType.valueOf(rawValue);
                 if (value == null) {
                   unknownFields.mergeVarintField(10, rawValue);
                 } else {
-                  if (!((mutable_bitField0_ & 0x00000040) != 0)) {
-                    types_ = new java.util.ArrayList();
+                  if ((mutable_bitField0_ & 0x00000040) == 0) {
+                    types_ = new java.util.ArrayList();
                     mutable_bitField0_ |= 0x00000040;
                   }
                   types_.add(rawValue);
@@ -15719,6 +16284,8 @@ private Relation(
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
         throw e.setUnfinishedMessage(this);
+      } catch (com.google.protobuf.UninitializedMessageException e) {
+        throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this);
       } catch (java.io.IOException e) {
         throw new com.google.protobuf.InvalidProtocolBufferException(
             e).setUnfinishedMessage(this);
@@ -15744,15 +16311,15 @@ private Relation(
     }
     public static final com.google.protobuf.Descriptors.Descriptor
         getDescriptor() {
-      return internal_static_OSMPBF_Relation_descriptor;
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Relation_descriptor;
     }
 
-    @Override
-    protected FieldAccessorTable
+    @java.lang.Override
+    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
         internalGetFieldAccessorTable() {
-      return internal_static_OSMPBF_Relation_fieldAccessorTable
+      return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Relation_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
-              Relation.class, Relation.Builder.class);
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder.class);
     }
 
     /**
@@ -15797,7 +16364,7 @@ public final int getNumber() {
        * @return The enum associated with the given numeric wire value.
        * @deprecated Use {@link #forNumber(int)} instead.
        */
-      @Deprecated
+      @java.lang.Deprecated
       public static MemberType valueOf(int value) {
         return forNumber(value);
       }
@@ -15837,7 +16404,7 @@ public MemberType findValueByNumber(int number) {
       }
       public static final com.google.protobuf.Descriptors.EnumDescriptor
           getDescriptor() {
-        return Relation.getDescriptor().getEnumTypes().get(0);
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.getDescriptor().getEnumTypes().get(0);
       }
 
       private static final MemberType[] VALUES = values();
@@ -15845,7 +16412,7 @@ public MemberType findValueByNumber(int number) {
       public static MemberType valueOf(
           com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
         if (desc.getType() != getDescriptor()) {
-          throw new IllegalArgumentException(
+          throw new java.lang.IllegalArgumentException(
             "EnumValueDescriptor is not for this type.");
         }
         return VALUES[desc.getIndex()];
@@ -15853,7 +16420,7 @@ public static MemberType valueOf(
 
       private final int value;
 
-      private MemberType(int value) {
+      MemberType(int value) {
         this.value = value;
       }
 
@@ -15867,6 +16434,7 @@ private MemberType(int value) {
      * required int64 id = 1;
      * @return Whether the id field is set.
      */
+    @java.lang.Override
     public boolean hasId() {
       return ((bitField0_ & 0x00000001) != 0);
     }
@@ -15874,6 +16442,7 @@ public boolean hasId() {
      * required int64 id = 1;
      * @return The id.
      */
+    @java.lang.Override
     public long getId() {
       return id_;
     }
@@ -15888,7 +16457,8 @@ public long getId() {
      * repeated uint32 keys = 2 [packed = true];
      * @return A list containing the keys.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getKeysList() {
       return keys_;
     }
@@ -15923,7 +16493,8 @@ public int getKeys(int index) {
      * repeated uint32 vals = 3 [packed = true];
      * @return A list containing the vals.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getValsList() {
       return vals_;
     }
@@ -15945,11 +16516,12 @@ public int getVals(int index) {
     private int valsMemoizedSerializedSize = -1;
 
     public static final int INFO_FIELD_NUMBER = 4;
-    private Info info_;
+    private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_;
     /**
      * optional .OSMPBF.Info info = 4;
      * @return Whether the info field is set.
      */
+    @java.lang.Override
     public boolean hasInfo() {
       return ((bitField0_ & 0x00000002) != 0);
     }
@@ -15957,14 +16529,16 @@ public boolean hasInfo() {
      * optional .OSMPBF.Info info = 4;
      * @return The info.
      */
-    public Info getInfo() {
-      return info_ == null ? Info.getDefaultInstance() : info_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() {
+      return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
     }
     /**
      * optional .OSMPBF.Info info = 4;
      */
-    public InfoOrBuilder getInfoOrBuilder() {
-      return info_ == null ? Info.getDefaultInstance() : info_;
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() {
+      return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
     }
 
     public static final int ROLES_SID_FIELD_NUMBER = 8;
@@ -15977,7 +16551,8 @@ public InfoOrBuilder getInfoOrBuilder() {
      * repeated int32 roles_sid = 8 [packed = true];
      * @return A list containing the rolesSid.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getRolesSidList() {
       return rolesSid_;
     }
@@ -16016,7 +16591,8 @@ public int getRolesSid(int index) {
      * repeated sint64 memids = 9 [packed = true];
      * @return A list containing the memids.
      */
-    public java.util.List
+    @java.lang.Override
+    public java.util.List
         getMemidsList() {
       return memids_;
     }
@@ -16046,29 +16622,31 @@ public long getMemids(int index) {
     private int memidsMemoizedSerializedSize = -1;
 
     public static final int TYPES_FIELD_NUMBER = 10;
-    private java.util.List types_;
+    private java.util.List types_;
     private static final com.google.protobuf.Internal.ListAdapter.Converter<
-        Integer, Relation.MemberType> types_converter_ =
+        java.lang.Integer, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType> types_converter_ =
             new com.google.protobuf.Internal.ListAdapter.Converter<
-                Integer, Relation.MemberType>() {
-              public Relation.MemberType convert(Integer from) {
+                java.lang.Integer, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType>() {
+              public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType convert(java.lang.Integer from) {
                 @SuppressWarnings("deprecation")
-                Relation.MemberType result = Relation.MemberType.valueOf(from);
-                return result == null ? Relation.MemberType.NODE : result;
+                org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType result = org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType.valueOf(from);
+                return result == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType.NODE : result;
               }
             };
     /**
      * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
      * @return A list containing the types.
      */
-    public java.util.List getTypesList() {
+    @java.lang.Override
+    public java.util.List getTypesList() {
       return new com.google.protobuf.Internal.ListAdapter<
-          Integer, Relation.MemberType>(types_, types_converter_);
+          java.lang.Integer, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType>(types_, types_converter_);
     }
     /**
      * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
-     * @param value The types to add.
+     * @return The count of types.
      */
+    @java.lang.Override
     public int getTypesCount() {
       return types_.size();
     }
@@ -16077,13 +16655,14 @@ public int getTypesCount() {
      * @param index The index of the element to return.
      * @return The types at the given index.
      */
-    public Relation.MemberType getTypes(int index) {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType getTypes(int index) {
       return types_converter_.convert(types_.get(index));
     }
     private int typesMemoizedSerializedSize;
 
     private byte memoizedIsInitialized = -1;
-    @Override
+    @java.lang.Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
       if (isInitialized == 1) return true;
@@ -16097,7 +16676,7 @@ public final boolean isInitialized() {
       return true;
     }
 
-    @Override
+    @java.lang.Override
     public void writeTo(com.google.protobuf.CodedOutputStream output)
                         throws java.io.IOException {
       getSerializedSize();
@@ -16145,7 +16724,7 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       unknownFields.writeTo(output);
     }
 
-    @Override
+    @java.lang.Override
     public int getSerializedSize() {
       int size = memoizedSize;
       if (size != -1) return size;
@@ -16232,15 +16811,15 @@ public int getSerializedSize() {
       return size;
     }
 
-    @Override
-    public boolean equals(final Object obj) {
+    @java.lang.Override
+    public boolean equals(final java.lang.Object obj) {
       if (obj == this) {
        return true;
       }
-      if (!(obj instanceof Relation)) {
+      if (!(obj instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Relation)) {
         return super.equals(obj);
       }
-      Relation other = (Relation) obj;
+      org.openstreetmap.osmosis.osmbinary.Osmformat.Relation other = (org.openstreetmap.osmosis.osmbinary.Osmformat.Relation) obj;
 
       if (hasId() != other.hasId()) return false;
       if (hasId()) {
@@ -16261,11 +16840,10 @@ public boolean equals(final Object obj) {
       if (!getMemidsList()
           .equals(other.getMemidsList())) return false;
       if (!types_.equals(other.types_)) return false;
-      if (!unknownFields.equals(other.unknownFields)) return false;
-      return true;
+      return unknownFields.equals(other.unknownFields);
     }
 
-    @Override
+    @java.lang.Override
     public int hashCode() {
       if (memoizedHashCode != 0) {
         return memoizedHashCode;
@@ -16306,69 +16884,69 @@ public int hashCode() {
       return hash;
     }
 
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         java.nio.ByteBuffer data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Relation parseFrom(byte[] data)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         byte[] data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Relation parseFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation 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 Relation parseDelimitedFrom(java.io.InputStream input)
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseDelimitedWithIOException(PARSER, input);
     }
-    public static Relation parseDelimitedFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation 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 Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
       return com.google.protobuf.GeneratedMessageV3
           .parseWithIOException(PARSER, input);
     }
-    public static Relation parseFrom(
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
@@ -16376,23 +16954,23 @@ public static Relation parseFrom(
           .parseWithIOException(PARSER, input, extensionRegistry);
     }
 
-    @Override
+    @java.lang.Override
     public Builder newBuilderForType() { return newBuilder(); }
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
-    public static Builder newBuilder(Relation prototype) {
+    public static Builder newBuilder(org.openstreetmap.osmosis.osmbinary.Osmformat.Relation prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
-    @Override
+    @java.lang.Override
     public Builder toBuilder() {
       return this == DEFAULT_INSTANCE
           ? new Builder() : new Builder().mergeFrom(this);
     }
 
-    @Override
+    @java.lang.Override
     protected Builder newBuilderForType(
-        BuilderParent parent) {
+        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
@@ -16402,27 +16980,27 @@ protected Builder newBuilderForType(
     public static final class Builder extends
         com.google.protobuf.GeneratedMessageV3.Builder implements
         // @@protoc_insertion_point(builder_implements:OSMPBF.Relation)
-        RelationOrBuilder {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.RelationOrBuilder {
       public static final com.google.protobuf.Descriptors.Descriptor
           getDescriptor() {
-        return internal_static_OSMPBF_Relation_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Relation_descriptor;
       }
 
-      @Override
-      protected FieldAccessorTable
+      @java.lang.Override
+      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
           internalGetFieldAccessorTable() {
-        return internal_static_OSMPBF_Relation_fieldAccessorTable
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Relation_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
-                Relation.class, Relation.Builder.class);
+                org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.class, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.Builder.class);
       }
 
-      // Construct using Relation.newBuilder()
+      // Construct using org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.newBuilder()
       private Builder() {
         maybeForceBuilderInitialization();
       }
 
       private Builder(
-          BuilderParent parent) {
+          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
@@ -16432,7 +17010,7 @@ private void maybeForceBuilderInitialization() {
           getInfoFieldBuilder();
         }
       }
-      @Override
+      @java.lang.Override
       public Builder clear() {
         super.clear();
         id_ = 0L;
@@ -16456,29 +17034,29 @@ public Builder clear() {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public com.google.protobuf.Descriptors.Descriptor
           getDescriptorForType() {
-        return internal_static_OSMPBF_Relation_descriptor;
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.internal_static_OSMPBF_Relation_descriptor;
       }
 
-      @Override
-      public Relation getDefaultInstanceForType() {
-        return Relation.getDefaultInstance();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getDefaultInstanceForType() {
+        return org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.getDefaultInstance();
       }
 
-      @Override
-      public Relation build() {
-        Relation result = buildPartial();
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation build() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Relation result = buildPartial();
         if (!result.isInitialized()) {
           throw newUninitializedMessageException(result);
         }
         return result;
       }
 
-      @Override
-      public Relation buildPartial() {
-        Relation result = new Relation(this);
+      @java.lang.Override
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation buildPartial() {
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Relation result = new org.openstreetmap.osmosis.osmbinary.Osmformat.Relation(this);
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
@@ -16523,50 +17101,50 @@ public Relation buildPartial() {
         return result;
       }
 
-      @Override
+      @java.lang.Override
       public Builder clone() {
         return super.clone();
       }
-      @Override
+      @java.lang.Override
       public Builder setField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.setField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder clearField(
           com.google.protobuf.Descriptors.FieldDescriptor field) {
         return super.clearField(field);
       }
-      @Override
+      @java.lang.Override
       public Builder clearOneof(
           com.google.protobuf.Descriptors.OneofDescriptor oneof) {
         return super.clearOneof(oneof);
       }
-      @Override
+      @java.lang.Override
       public Builder setRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          int index, Object value) {
+          int index, java.lang.Object value) {
         return super.setRepeatedField(field, index, value);
       }
-      @Override
+      @java.lang.Override
       public Builder addRepeatedField(
           com.google.protobuf.Descriptors.FieldDescriptor field,
-          Object value) {
+          java.lang.Object value) {
         return super.addRepeatedField(field, value);
       }
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
-        if (other instanceof Relation) {
-          return mergeFrom((Relation)other);
+        if (other instanceof org.openstreetmap.osmosis.osmbinary.Osmformat.Relation) {
+          return mergeFrom((org.openstreetmap.osmosis.osmbinary.Osmformat.Relation)other);
         } else {
           super.mergeFrom(other);
           return this;
         }
       }
 
-      public Builder mergeFrom(Relation other) {
-        if (other == Relation.getDefaultInstance()) return this;
+      public Builder mergeFrom(org.openstreetmap.osmosis.osmbinary.Osmformat.Relation other) {
+        if (other == org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.getDefaultInstance()) return this;
         if (other.hasId()) {
           setId(other.getId());
         }
@@ -16628,24 +17206,21 @@ public Builder mergeFrom(Relation other) {
         return this;
       }
 
-      @Override
+      @java.lang.Override
       public final boolean isInitialized() {
-        if (!hasId()) {
-          return false;
-        }
-        return true;
+        return hasId();
       }
 
-      @Override
+      @java.lang.Override
       public Builder mergeFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
           throws java.io.IOException {
-        Relation parsedMessage = null;
+        org.openstreetmap.osmosis.osmbinary.Osmformat.Relation parsedMessage = null;
         try {
           parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          parsedMessage = (Relation) e.getUnfinishedMessage();
+          parsedMessage = (org.openstreetmap.osmosis.osmbinary.Osmformat.Relation) e.getUnfinishedMessage();
           throw e.unwrapIOException();
         } finally {
           if (parsedMessage != null) {
@@ -16661,6 +17236,7 @@ public Builder mergeFrom(
        * required int64 id = 1;
        * @return Whether the id field is set.
        */
+      @java.lang.Override
       public boolean hasId() {
         return ((bitField0_ & 0x00000001) != 0);
       }
@@ -16668,6 +17244,7 @@ public boolean hasId() {
        * required int64 id = 1;
        * @return The id.
        */
+      @java.lang.Override
       public long getId() {
         return id_;
       }
@@ -16695,7 +17272,7 @@ public Builder clearId() {
 
       private com.google.protobuf.Internal.IntList keys_ = emptyIntList();
       private void ensureKeysIsMutable() {
-        if (!((bitField0_ & 0x00000002) != 0)) {
+        if ((bitField0_ & 0x00000002) == 0) {
           keys_ = mutableCopy(keys_);
           bitField0_ |= 0x00000002;
          }
@@ -16708,7 +17285,7 @@ private void ensureKeysIsMutable() {
        * repeated uint32 keys = 2 [packed = true];
        * @return A list containing the keys.
        */
-      public java.util.List
+      public java.util.List
           getKeysList() {
         return ((bitField0_ & 0x00000002) != 0) ?
                  java.util.Collections.unmodifiableList(keys_) : keys_;
@@ -16778,7 +17355,7 @@ public Builder addKeys(int value) {
        * @return This builder for chaining.
        */
       public Builder addAllKeys(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureKeysIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, keys_);
@@ -16802,7 +17379,7 @@ public Builder clearKeys() {
 
       private com.google.protobuf.Internal.IntList vals_ = emptyIntList();
       private void ensureValsIsMutable() {
-        if (!((bitField0_ & 0x00000004) != 0)) {
+        if ((bitField0_ & 0x00000004) == 0) {
           vals_ = mutableCopy(vals_);
           bitField0_ |= 0x00000004;
          }
@@ -16811,7 +17388,7 @@ private void ensureValsIsMutable() {
        * repeated uint32 vals = 3 [packed = true];
        * @return A list containing the vals.
        */
-      public java.util.List
+      public java.util.List
           getValsList() {
         return ((bitField0_ & 0x00000004) != 0) ?
                  java.util.Collections.unmodifiableList(vals_) : vals_;
@@ -16861,7 +17438,7 @@ public Builder addVals(int value) {
        * @return This builder for chaining.
        */
       public Builder addAllVals(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureValsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, vals_);
@@ -16879,9 +17456,9 @@ public Builder clearVals() {
         return this;
       }
 
-      private Info info_;
+      private org.openstreetmap.osmosis.osmbinary.Osmformat.Info info_;
       private com.google.protobuf.SingleFieldBuilderV3<
-          Info, Info.Builder, InfoOrBuilder> infoBuilder_;
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder> infoBuilder_;
       /**
        * optional .OSMPBF.Info info = 4;
        * @return Whether the info field is set.
@@ -16893,9 +17470,9 @@ public boolean hasInfo() {
        * optional .OSMPBF.Info info = 4;
        * @return The info.
        */
-      public Info getInfo() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Info getInfo() {
         if (infoBuilder_ == null) {
-          return info_ == null ? Info.getDefaultInstance() : info_;
+          return info_ == null ? org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
         } else {
           return infoBuilder_.getMessage();
         }
@@ -16903,7 +17480,7 @@ public Info getInfo() {
       /**
        * optional .OSMPBF.Info info = 4;
        */
-      public Builder setInfo(Info value) {
+      public Builder setInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) {
         if (infoBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -16920,7 +17497,7 @@ public Builder setInfo(Info value) {
        * optional .OSMPBF.Info info = 4;
        */
       public Builder setInfo(
-          Info.Builder builderForValue) {
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder builderForValue) {
         if (infoBuilder_ == null) {
           info_ = builderForValue.build();
           onChanged();
@@ -16933,13 +17510,13 @@ public Builder setInfo(
       /**
        * optional .OSMPBF.Info info = 4;
        */
-      public Builder mergeInfo(Info value) {
+      public Builder mergeInfo(org.openstreetmap.osmosis.osmbinary.Osmformat.Info value) {
         if (infoBuilder_ == null) {
           if (((bitField0_ & 0x00000008) != 0) &&
               info_ != null &&
-              info_ != Info.getDefaultInstance()) {
+              info_ != org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance()) {
             info_ =
-              Info.newBuilder(info_).mergeFrom(value).buildPartial();
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.newBuilder(info_).mergeFrom(value).buildPartial();
           } else {
             info_ = value;
           }
@@ -16966,7 +17543,7 @@ public Builder clearInfo() {
       /**
        * optional .OSMPBF.Info info = 4;
        */
-      public Info.Builder getInfoBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder getInfoBuilder() {
         bitField0_ |= 0x00000008;
         onChanged();
         return getInfoFieldBuilder().getBuilder();
@@ -16974,23 +17551,23 @@ public Info.Builder getInfoBuilder() {
       /**
        * optional .OSMPBF.Info info = 4;
        */
-      public InfoOrBuilder getInfoOrBuilder() {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder getInfoOrBuilder() {
         if (infoBuilder_ != null) {
           return infoBuilder_.getMessageOrBuilder();
         } else {
           return info_ == null ?
-              Info.getDefaultInstance() : info_;
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info.getDefaultInstance() : info_;
         }
       }
       /**
        * optional .OSMPBF.Info info = 4;
        */
       private com.google.protobuf.SingleFieldBuilderV3<
-          Info, Info.Builder, InfoOrBuilder> 
+          org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder>
           getInfoFieldBuilder() {
         if (infoBuilder_ == null) {
           infoBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
-              Info, Info.Builder, InfoOrBuilder>(
+              org.openstreetmap.osmosis.osmbinary.Osmformat.Info, org.openstreetmap.osmosis.osmbinary.Osmformat.Info.Builder, org.openstreetmap.osmosis.osmbinary.Osmformat.InfoOrBuilder>(
                   getInfo(),
                   getParentForChildren(),
                   isClean());
@@ -17001,7 +17578,7 @@ public InfoOrBuilder getInfoOrBuilder() {
 
       private com.google.protobuf.Internal.IntList rolesSid_ = emptyIntList();
       private void ensureRolesSidIsMutable() {
-        if (!((bitField0_ & 0x00000010) != 0)) {
+        if ((bitField0_ & 0x00000010) == 0) {
           rolesSid_ = mutableCopy(rolesSid_);
           bitField0_ |= 0x00000010;
          }
@@ -17014,7 +17591,7 @@ private void ensureRolesSidIsMutable() {
        * repeated int32 roles_sid = 8 [packed = true];
        * @return A list containing the rolesSid.
        */
-      public java.util.List
+      public java.util.List
           getRolesSidList() {
         return ((bitField0_ & 0x00000010) != 0) ?
                  java.util.Collections.unmodifiableList(rolesSid_) : rolesSid_;
@@ -17084,7 +17661,7 @@ public Builder addRolesSid(int value) {
        * @return This builder for chaining.
        */
       public Builder addAllRolesSid(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureRolesSidIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, rolesSid_);
@@ -17108,7 +17685,7 @@ public Builder clearRolesSid() {
 
       private com.google.protobuf.Internal.LongList memids_ = emptyLongList();
       private void ensureMemidsIsMutable() {
-        if (!((bitField0_ & 0x00000020) != 0)) {
+        if ((bitField0_ & 0x00000020) == 0) {
           memids_ = mutableCopy(memids_);
           bitField0_ |= 0x00000020;
          }
@@ -17121,7 +17698,7 @@ private void ensureMemidsIsMutable() {
        * repeated sint64 memids = 9 [packed = true];
        * @return A list containing the memids.
        */
-      public java.util.List
+      public java.util.List
           getMemidsList() {
         return ((bitField0_ & 0x00000020) != 0) ?
                  java.util.Collections.unmodifiableList(memids_) : memids_;
@@ -17191,7 +17768,7 @@ public Builder addMemids(long value) {
        * @return This builder for chaining.
        */
       public Builder addAllMemids(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureMemidsIsMutable();
         com.google.protobuf.AbstractMessageLite.Builder.addAll(
             values, memids_);
@@ -17213,11 +17790,11 @@ public Builder clearMemids() {
         return this;
       }
 
-      private java.util.List types_ =
+      private java.util.List types_ =
         java.util.Collections.emptyList();
       private void ensureTypesIsMutable() {
-        if (!((bitField0_ & 0x00000040) != 0)) {
-          types_ = new java.util.ArrayList(types_);
+        if ((bitField0_ & 0x00000040) == 0) {
+          types_ = new java.util.ArrayList(types_);
           bitField0_ |= 0x00000040;
         }
       }
@@ -17225,9 +17802,9 @@ private void ensureTypesIsMutable() {
        * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
        * @return A list containing the types.
        */
-      public java.util.List getTypesList() {
+      public java.util.List getTypesList() {
         return new com.google.protobuf.Internal.ListAdapter<
-            Integer, Relation.MemberType>(types_, types_converter_);
+            java.lang.Integer, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType>(types_, types_converter_);
       }
       /**
        * repeated .OSMPBF.Relation.MemberType types = 10 [packed = true];
@@ -17241,7 +17818,7 @@ public int getTypesCount() {
        * @param index The index of the element to return.
        * @return The types at the given index.
        */
-      public Relation.MemberType getTypes(int index) {
+      public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType getTypes(int index) {
         return types_converter_.convert(types_.get(index));
       }
       /**
@@ -17251,7 +17828,7 @@ public Relation.MemberType getTypes(int index) {
        * @return This builder for chaining.
        */
       public Builder setTypes(
-          int index, Relation.MemberType value) {
+          int index, org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType value) {
         if (value == null) {
           throw new NullPointerException();
         }
@@ -17265,7 +17842,7 @@ public Builder setTypes(
        * @param value The types to add.
        * @return This builder for chaining.
        */
-      public Builder addTypes(Relation.MemberType value) {
+      public Builder addTypes(org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType value) {
         if (value == null) {
           throw new NullPointerException();
         }
@@ -17280,9 +17857,9 @@ public Builder addTypes(Relation.MemberType value) {
        * @return This builder for chaining.
        */
       public Builder addAllTypes(
-          Iterable values) {
+          java.lang.Iterable values) {
         ensureTypesIsMutable();
-        for (Relation.MemberType value : values) {
+        for (org.openstreetmap.osmosis.osmbinary.Osmformat.Relation.MemberType value : values) {
           types_.add(value.getNumber());
         }
         onChanged();
@@ -17298,13 +17875,13 @@ public Builder clearTypes() {
         onChanged();
         return this;
       }
-      @Override
+      @java.lang.Override
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFields(unknownFields);
       }
 
-      @Override
+      @java.lang.Override
       public final Builder mergeUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.mergeUnknownFields(unknownFields);
@@ -17315,18 +17892,18 @@ public final Builder mergeUnknownFields(
     }
 
     // @@protoc_insertion_point(class_scope:OSMPBF.Relation)
-    private static final Relation DEFAULT_INSTANCE;
+    private static final org.openstreetmap.osmosis.osmbinary.Osmformat.Relation DEFAULT_INSTANCE;
     static {
-      DEFAULT_INSTANCE = new Relation();
+      DEFAULT_INSTANCE = new org.openstreetmap.osmosis.osmbinary.Osmformat.Relation();
     }
 
-    public static Relation getDefaultInstance() {
+    public static org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getDefaultInstance() {
       return DEFAULT_INSTANCE;
     }
 
-    @Deprecated public static final com.google.protobuf.Parser
+    @java.lang.Deprecated public static final com.google.protobuf.Parser
         PARSER = new com.google.protobuf.AbstractParser() {
-      @Override
+      @java.lang.Override
       public Relation parsePartialFrom(
           com.google.protobuf.CodedInputStream input,
           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
@@ -17339,13 +17916,13 @@ public static com.google.protobuf.Parser parser() {
       return PARSER;
     }
 
-    @Override
+    @java.lang.Override
     public com.google.protobuf.Parser getParserForType() {
       return PARSER;
     }
 
-    @Override
-    public Relation getDefaultInstanceForType() {
+    @java.lang.Override
+    public org.openstreetmap.osmosis.osmbinary.Osmformat.Relation getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
 
@@ -17353,62 +17930,62 @@ public Relation getDefaultInstanceForType() {
 
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_HeaderBlock_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_HeaderBlock_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_HeaderBBox_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_HeaderBBox_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_PrimitiveBlock_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_PrimitiveGroup_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_StringTable_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_StringTable_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_Info_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_Info_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_DenseInfo_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_DenseInfo_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_ChangeSet_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_ChangeSet_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_Node_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_Node_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_DenseNodes_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_DenseNodes_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_Way_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_Way_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
     internal_static_OSMPBF_Relation_descriptor;
-  private static final 
+  private static final
     com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
       internal_static_OSMPBF_Relation_fieldAccessorTable;
 
@@ -17416,11 +17993,11 @@ public Relation getDefaultInstanceForType() {
       getDescriptor() {
     return descriptor;
   }
-  private static  com.google.protobuf.Descriptors.FileDescriptor
+  private static final com.google.protobuf.Descriptors.FileDescriptor
       descriptor;
   static {
-    String[] descriptorData = {
-      "\n\017proto\022\006OSMPBF\"\207\002\n\013HeaderBloc" +
+    java.lang.String[] descriptorData = {
+      "\n\017osmformat.proto\022\006OSMPBF\"\207\002\n\013HeaderBloc" +
       "k\022 \n\004bbox\030\001 \001(\0132\022.OSMPBF.HeaderBBox\022\031\n\021r" +
       "equired_features\030\004 \003(\t\022\031\n\021optional_featu" +
       "res\030\005 \003(\t\022\026\n\016writingprogram\030\020 \001(\t\022\016\n\006sou" +
@@ -17452,16 +18029,17 @@ public Relation getDefaultInstanceForType() {
       "\030\010 \002(\022\022\013\n\003lon\030\t \002(\022\"{\n\nDenseNodes\022\016\n\002id\030" +
       "\001 \003(\022B\002\020\001\022$\n\tdenseinfo\030\005 \001(\0132\021.OSMPBF.De" +
       "nseInfo\022\017\n\003lat\030\010 \003(\022B\002\020\001\022\017\n\003lon\030\t \003(\022B\002\020" +
-      "\001\022\025\n\tkeys_vals\030\n \003(\005B\002\020\001\"c\n\003Way\022\n\n\002id\030\001 " +
-      "\002(\003\022\020\n\004keys\030\002 \003(\rB\002\020\001\022\020\n\004vals\030\003 \003(\rB\002\020\001\022" +
-      "\032\n\004info\030\004 \001(\0132\014.OSMPBF.Info\022\020\n\004refs\030\010 \003(" +
-      "\022B\002\020\001\"\340\001\n\010Relation\022\n\n\002id\030\001 \002(\003\022\020\n\004keys\030\002" +
-      " \003(\rB\002\020\001\022\020\n\004vals\030\003 \003(\rB\002\020\001\022\032\n\004info\030\004 \001(\013" +
-      "2\014.OSMPBF.Info\022\025\n\troles_sid\030\010 \003(\005B\002\020\001\022\022\n" +
-      "\006memids\030\t \003(\022B\002\020\001\022.\n\005types\030\n \003(\0162\033.OSMPB" +
-      "F.Relation.MemberTypeB\002\020\001\"-\n\nMemberType\022" +
-      "\010\n\004NODE\020\000\022\007\n\003WAY\020\001\022\014\n\010RELATION\020\002B\021\n\rcros" +
-      "by.binaryH\003"
+      "\001\022\025\n\tkeys_vals\030\n \003(\005B\002\020\001\"\205\001\n\003Way\022\n\n\002id\030\001" +
+      " \002(\003\022\020\n\004keys\030\002 \003(\rB\002\020\001\022\020\n\004vals\030\003 \003(\rB\002\020\001" +
+      "\022\032\n\004info\030\004 \001(\0132\014.OSMPBF.Info\022\020\n\004refs\030\010 \003" +
+      "(\022B\002\020\001\022\017\n\003lat\030\t \003(\022B\002\020\001\022\017\n\003lon\030\n \003(\022B\002\020\001" +
+      "\"\340\001\n\010Relation\022\n\n\002id\030\001 \002(\003\022\020\n\004keys\030\002 \003(\rB" +
+      "\002\020\001\022\020\n\004vals\030\003 \003(\rB\002\020\001\022\032\n\004info\030\004 \001(\0132\014.OS" +
+      "MPBF.Info\022\025\n\troles_sid\030\010 \003(\005B\002\020\001\022\022\n\006memi" +
+      "ds\030\t \003(\022B\002\020\001\022.\n\005types\030\n \003(\0162\033.OSMPBF.Rel" +
+      "ation.MemberTypeB\002\020\001\"-\n\nMemberType\022\010\n\004NO" +
+      "DE\020\000\022\007\n\003WAY\020\001\022\014\n\010RELATION\020\002B\017\n\rcrosby.bi" +
+      "nary"
     };
     descriptor = com.google.protobuf.Descriptors.FileDescriptor
       .internalBuildGeneratedFileFrom(descriptorData,
@@ -17472,73 +18050,73 @@ public Relation getDefaultInstanceForType() {
     internal_static_OSMPBF_HeaderBlock_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_HeaderBlock_descriptor,
-        new String[] { "Bbox", "RequiredFeatures", "OptionalFeatures", "Writingprogram", "Source", "OsmosisReplicationTimestamp", "OsmosisReplicationSequenceNumber", "OsmosisReplicationBaseUrl", });
+        new java.lang.String[] { "Bbox", "RequiredFeatures", "OptionalFeatures", "Writingprogram", "Source", "OsmosisReplicationTimestamp", "OsmosisReplicationSequenceNumber", "OsmosisReplicationBaseUrl", });
     internal_static_OSMPBF_HeaderBBox_descriptor =
       getDescriptor().getMessageTypes().get(1);
     internal_static_OSMPBF_HeaderBBox_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_HeaderBBox_descriptor,
-        new String[] { "Left", "Right", "Top", "Bottom", });
+        new java.lang.String[] { "Left", "Right", "Top", "Bottom", });
     internal_static_OSMPBF_PrimitiveBlock_descriptor =
       getDescriptor().getMessageTypes().get(2);
     internal_static_OSMPBF_PrimitiveBlock_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_PrimitiveBlock_descriptor,
-        new String[] { "Stringtable", "Primitivegroup", "Granularity", "LatOffset", "LonOffset", "DateGranularity", });
+        new java.lang.String[] { "Stringtable", "Primitivegroup", "Granularity", "LatOffset", "LonOffset", "DateGranularity", });
     internal_static_OSMPBF_PrimitiveGroup_descriptor =
       getDescriptor().getMessageTypes().get(3);
     internal_static_OSMPBF_PrimitiveGroup_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_PrimitiveGroup_descriptor,
-        new String[] { "Nodes", "Dense", "Ways", "Relations", "Changesets", });
+        new java.lang.String[] { "Nodes", "Dense", "Ways", "Relations", "Changesets", });
     internal_static_OSMPBF_StringTable_descriptor =
       getDescriptor().getMessageTypes().get(4);
     internal_static_OSMPBF_StringTable_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_StringTable_descriptor,
-        new String[] { "S", });
+        new java.lang.String[] { "S", });
     internal_static_OSMPBF_Info_descriptor =
       getDescriptor().getMessageTypes().get(5);
     internal_static_OSMPBF_Info_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_Info_descriptor,
-        new String[] { "Version", "Timestamp", "Changeset", "Uid", "UserSid", "Visible", });
+        new java.lang.String[] { "Version", "Timestamp", "Changeset", "Uid", "UserSid", "Visible", });
     internal_static_OSMPBF_DenseInfo_descriptor =
       getDescriptor().getMessageTypes().get(6);
     internal_static_OSMPBF_DenseInfo_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_DenseInfo_descriptor,
-        new String[] { "Version", "Timestamp", "Changeset", "Uid", "UserSid", "Visible", });
+        new java.lang.String[] { "Version", "Timestamp", "Changeset", "Uid", "UserSid", "Visible", });
     internal_static_OSMPBF_ChangeSet_descriptor =
       getDescriptor().getMessageTypes().get(7);
     internal_static_OSMPBF_ChangeSet_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_ChangeSet_descriptor,
-        new String[] { "Id", });
+        new java.lang.String[] { "Id", });
     internal_static_OSMPBF_Node_descriptor =
       getDescriptor().getMessageTypes().get(8);
     internal_static_OSMPBF_Node_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_Node_descriptor,
-        new String[] { "Id", "Keys", "Vals", "Info", "Lat", "Lon", });
+        new java.lang.String[] { "Id", "Keys", "Vals", "Info", "Lat", "Lon", });
     internal_static_OSMPBF_DenseNodes_descriptor =
       getDescriptor().getMessageTypes().get(9);
     internal_static_OSMPBF_DenseNodes_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_DenseNodes_descriptor,
-        new String[] { "Id", "Denseinfo", "Lat", "Lon", "KeysVals", });
+        new java.lang.String[] { "Id", "Denseinfo", "Lat", "Lon", "KeysVals", });
     internal_static_OSMPBF_Way_descriptor =
       getDescriptor().getMessageTypes().get(10);
     internal_static_OSMPBF_Way_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_Way_descriptor,
-        new String[] { "Id", "Keys", "Vals", "Info", "Refs", });
+        new java.lang.String[] { "Id", "Keys", "Vals", "Info", "Refs", "Lat", "Lon", });
     internal_static_OSMPBF_Relation_descriptor =
       getDescriptor().getMessageTypes().get(11);
     internal_static_OSMPBF_Relation_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_OSMPBF_Relation_descriptor,
-        new String[] { "Id", "Keys", "Vals", "Info", "RolesSid", "Memids", "Types", });
+        new java.lang.String[] { "Id", "Keys", "Vals", "Info", "RolesSid", "Memids", "Types", });
   }
 
   // @@protoc_insertion_point(outer_class_scope)