From 112d2d3e42eb5f4b6016463ccb6c34e4f4cad43b Mon Sep 17 00:00:00 2001 From: Rafael Troilo Date: Tue, 4 May 2021 16:44:50 +0200 Subject: [PATCH] fix some pmd warnings --- .../collector/KeyValueFrequencyCollector.java | 4 +- .../extract/collector/RoleCollector.java | 10 +-- .../tool/importer/load/LoaderKeyTables.java | 20 +++--- .../oshdb/tool/importer/load/LoaderNode.java | 8 +-- .../tool/importer/load/LoaderRelation.java | 8 +-- .../oshdb/tool/importer/load/LoaderWay.java | 6 +- .../tool/importer/transform/Transform.java | 28 ++++---- .../importer/transform/TransformerNode.java | 4 +- .../transform/TransformerTagRoles.java | 21 +++--- .../importer/transform/oshdb/OSHEntity.java | 14 ++-- .../importer/transform/oshdb/OSHNode.java | 8 +-- .../importer/transform/oshdb/OSMEntity.java | 2 +- .../importer/transform/oshdb/OSMMember.java | 10 +-- .../tool/importer/transform/oshdb/OSMWay.java | 2 +- .../transform/oshdb/TransformOSHEntity.java | 4 +- .../transform/reader/TransformReader.java | 4 +- .../reader/TransformRelationReaders.java | 5 +- .../transform/reader/TransformWayReaders.java | 5 +- .../reader/TransfromNodeReaders.java | 5 +- .../tool/importer/util/ExternalSort.java | 4 +- .../tool/importer/util/OSHDbToIgnite.java | 4 +- .../tool/importer/util/RoleToIdMapper.java | 6 +- .../tool/importer/util/SizeEstimator.java | 4 +- .../tool/importer/util/StringToIdMapping.java | 2 +- .../tool/importer/util/TagToIdMapper.java | 8 +-- .../oshdb/tool/importer/util/ZGrid.java | 41 ++++++----- .../util/long2long/LongToLongMap.java | 4 +- .../util/long2long/page/DensePage.java | 4 +- .../importer/util/long2long/page/Page.java | 4 +- .../util/long2long/page/PageLoader.java | 8 ++- .../oshpbf/parser/pbf/BlobToOSHIterator.java | 4 +- .../parser/pbf/OsmPrimitveBlockIterator.java | 4 +- .../ohsome/oshpbf/parser/pbf/PbfBlob.java | 15 +++- .../ohsome/oshpbf/parser/rx/OshMerger.java | 7 +- .../oshpbf/parser/rx/RxOshPbfReader.java | 19 ++--- .../heigit/ohsome/oshdb/OSHDBBoundable.java | 20 +++--- .../heigit/ohsome/oshdb/OSHDBBoundingBox.java | 8 +-- .../ohsome/oshdb/grid/GridOSHNodes.java | 3 +- .../ohsome/oshdb/grid/GridOSHRelations.java | 3 +- .../heigit/ohsome/oshdb/grid/GridOSHWays.java | 3 +- .../ohsome/oshdb/impl/osh/OSHEntityImpl.java | 12 ++-- .../ohsome/oshdb/impl/osh/OSHNodeImpl.java | 22 +++--- .../oshdb/impl/osh/OSHRelationImpl.java | 18 ++--- .../ohsome/oshdb/impl/osh/OSHWayImpl.java | 13 ++-- .../org/heigit/ohsome/oshdb/index/XYGrid.java | 46 ++++++------ .../heigit/ohsome/oshdb/index/XYGridTree.java | 7 +- .../heigit/ohsome/oshdb/osm/OSMEntity.java | 2 +- .../org/heigit/ohsome/oshdb/osm/OSMNode.java | 2 +- .../org/heigit/ohsome/oshdb/util/CellId.java | 10 +-- .../heigit/ohsome/oshdb/util/OSHDBRole.java | 2 +- .../util/bytearray/ByteArrayWrapper.java | 70 +++++++++---------- 51 files changed, 274 insertions(+), 273 deletions(-) diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/KeyValueFrequencyCollector.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/KeyValueFrequencyCollector.java index cce232674..53adfbcd9 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/KeyValueFrequencyCollector.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/KeyValueFrequencyCollector.java @@ -169,7 +169,7 @@ public Iterator iterator() { try { dataInput.close(); } catch (Exception e2) { - // Exceptions should be ignored + e.addSuppressed(e2); } } throw new RuntimeException(e.getMessage()); @@ -238,7 +238,7 @@ public ValueFrequency next() { final String value = vf.value; int freq = vf.freq; - while (!queue.isEmpty() && (comparator.compare(vf, queue.peek().peek()) == 0)) { + while (!queue.isEmpty() && comparator.compare(vf, queue.peek().peek()) == 0) { vf = poll(); freq += vf.freq; } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/RoleCollector.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/RoleCollector.java index 1dd57b24f..e836e1c4a 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/RoleCollector.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/extract/collector/RoleCollector.java @@ -158,13 +158,13 @@ public static class RoleMapReader implements Iterator { private final ObjectBidirectionalIterator> roleIterator; - public static RoleMapReader of(Object2IntAVLTreeMap role2Frequency, boolean remove) { + public static RoleMapReader of(Object2IntAVLTreeMap role2Frequency) { final ObjectBidirectionalIterator> roleIterator = role2Frequency.object2IntEntrySet().iterator(); - return new RoleMapReader(roleIterator, remove); + return new RoleMapReader(roleIterator); } - private RoleMapReader(ObjectBidirectionalIterator> roleIterator, boolean remove) { + private RoleMapReader(ObjectBidirectionalIterator> roleIterator) { this.roleIterator = roleIterator; } @@ -202,14 +202,14 @@ public Iterator iterator() { try { dataInput.close(); } catch (Exception e2) { - // Exceptions should be ignored + e.addSuppressed(e2); } } throw new RuntimeException(e.getMessage()); } }).forEach(iters::add); if (role2Frequency.size() > 0) { - iters.add(RoleMapReader.of(role2Frequency, true)); + iters.add(RoleMapReader.of(role2Frequency)); } return MergeIterator.of(iters, (a, b) -> a.role.compareTo(b.role), list -> { diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderKeyTables.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderKeyTables.java index 42bbe6772..2b679ae75 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderKeyTables.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderKeyTables.java @@ -21,10 +21,10 @@ public class LoaderKeyTables { - public static interface Handler { - public void loadKeyValues(int id, String key, List values); + public interface Handler { + void loadKeyValues(int id, String key, List values); - public void loadRole(int id, String role); + void loadRole(int id, String role); } Path workDirectory; @@ -78,16 +78,14 @@ public void loadRoles() { final Function input = Functions.identity(); try (DataInputStream roleIn = new DataInputStream(input.apply(new BufferedInputStream( new FileInputStream(workDirectory.resolve("extract_roles").toFile()))))) { - try { - for (int id = 0; true; id++) { - final Role role = Role.read(roleIn); - handler.loadRole(id, role.role); - } - } catch (EOFException e) { - // we reached end of file! + for (int id = 0; true; id++) { + final Role role = Role.read(roleIn); + handler.loadRole(id, role.role); } } catch (IOException e) { - e.printStackTrace(); + if (!(e instanceof EOFException)) { + e.printStackTrace(); + } } } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderNode.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderNode.java index 44b8c2ab2..4807a2682 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderNode.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderNode.java @@ -18,7 +18,7 @@ public class LoaderNode extends Loader { - public static interface Handler { + public interface Handler { void handleNodeGrid(long cellId, Collection nodes); } @@ -78,7 +78,7 @@ public void load(long cellId2, boolean all) { } while (reader.hasNext() - && (all || (ZGrid.ORDER_DFS_TOP_DOWN.compare(reader.getCellId(), cellId2) <= 0))) { + && (all || ZGrid.ORDER_DFS_TOP_DOWN.compare(reader.getCellId(), cellId2) <= 0)) { final long cellId = reader.getCellId(); final int zoom = ZGrid.getZoom(cellId); final Set nodes = reader.next(); @@ -113,11 +113,11 @@ public void load(long cellId2, boolean all) { private void store(int zoom) { for (int i = maxZoom; i >= zoom; i--) { Grid grid = zoomLevel.get(i); - if ((grid == null) || (grid.entities == null)) { + if (grid == null || grid.entities == null) { continue; } - if ((i > maxZoomLevel) || ((grid.entities.size() < minEntitiesPerCell) && (i > 0))) { + if (i > maxZoomLevel || grid.entities.size() < minEntitiesPerCell && i > 0) { Grid parent = zoomLevel.get(i - 1); if (parent.entities == null) { parent.cellId = ZGrid.getParent(grid.cellId); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderRelation.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderRelation.java index 45bc3fc24..69407831d 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderRelation.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderRelation.java @@ -21,7 +21,7 @@ public class LoaderRelation extends Loader { - public static interface Handler { + public interface Handler { public void handleRelationGrid(long cellId, Collection entities, Collection nodes, Collection ways); } @@ -154,7 +154,7 @@ private void store(int zoom) { continue; } - if (i > maxZoomLevel || (grid.entities.size() < minEntitiesPerCell && i > 0)) { + if (i > maxZoomLevel || grid.entities.size() < minEntitiesPerCell && i > 0) { Grid parent = zoomLevel.get(i - 1); if (parent.entities == null) { @@ -215,7 +215,7 @@ public void visitNode(TransformOSHNode osh) { final Grid g = zoomLevel.get(i); if (g.nodesSet.contains(id)) { g.nodeforGrid.add(osh); - g.nodesSet.remove(id);; + g.nodesSet.remove(id); break; } } @@ -233,7 +233,7 @@ public void visitWay(TransformOSHWay osh) { final Grid g = zoomLevel.get(i); if (g.waysSet.contains(id)) { g.wayforGrid.add(osh); - g.waysSet.remove(id);; + g.waysSet.remove(id); break; } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderWay.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderWay.java index ced1268b9..c7246f4e7 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderWay.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/load/LoaderWay.java @@ -21,7 +21,7 @@ public class LoaderWay extends Loader { - public static interface Handler { + public interface Handler { public void handleWayGrid(long cellId, Collection ways, Collection nodes); } @@ -144,7 +144,7 @@ private void store(int zoom) { continue; } - if (i > maxZoomLevel || (grid.entities.size() < minEntitiesPerCell && i > 0)) { + if (i > maxZoomLevel || grid.entities.size() < minEntitiesPerCell && i > 0) { Grid parent = zoomLevel.get(i - 1); if (parent.entities == null) { @@ -205,7 +205,7 @@ public void visitNode(TransformOSHNode node) { final Grid g = zoomLevel.get(i); if (g.nodesSet.contains(id)) { g.forGrid.add(node); - g.nodesSet.remove(id);; + g.nodesSet.remove(id); break; } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/Transform.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/Transform.java index c2d876107..9b98fb764 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/Transform.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/Transform.java @@ -113,7 +113,7 @@ public static void transform(TransformArgs config) throws Exception { if (worker >= workerTotal) { throw new IllegalArgumentException("worker must be lesser than totalWorker!"); } - if ((workerTotal > 1) && (step.startsWith("a"))) { + if (workerTotal > 1 && step.startsWith("a")) { throw new IllegalArgumentException( "step all with totalWorker > 1 is not allwod use step (node,way or relation)"); } @@ -124,7 +124,7 @@ public static void transform(TransformArgs config) throws Exception { final long availableMemory = availableHeapMemory - Math.max(1 * GB, availableHeapMemory / 3); System.out.println("Transform:"); - System.out.println("avaliable memory: " + (availableMemory / 1024L / 1024L) + " mb"); + System.out.println("avaliable memory: " + availableMemory / 1024L / 1024L + " mb"); final OsmPbfMeta pbfMeta = Extract.pbfMetaData(pbf); @@ -132,16 +132,16 @@ public static void transform(TransformArgs config) throws Exception { if (step.startsWith("a") || step.startsWith("n")) { long maxMemory = availableMemory - tag2Id.estimatedSize(); - if (maxMemory < (100 * MB)) { + if (maxMemory < 100 * MB) { System.out.println("warning: only 100MB memory left for transformation! " + "Increase heapsize -Xmx if possible"); } - if (maxMemory < (1 * MB)) { + if (maxMemory < 1 * MB) { throw new Exception("to few memory left for transformation. " + "You need to increase JVM heapsize -Xmx for transforming"); } - System.out.println("maxMemory for transformation: " + (maxMemory / 1024L / 1024L) + " mb"); + System.out.println("maxMemory for transformation: " + maxMemory / 1024L / 1024L + " mb"); System.out.print("start transforming nodes ..."); Transform.withMaxMemory(maxMemory).withWorkDirectory(workDir).transformNodes(pbfMeta, maxZoom, tag2Id, worker, workerTotal); @@ -150,19 +150,19 @@ public static void transform(TransformArgs config) throws Exception { if (step.startsWith("a") || step.startsWith("w")) { final long mapMemory = availableMemory / 2L; - try (final SortedLong2LongMap node2Cell = + try (SortedLong2LongMap node2Cell = new SortedLong2LongMap(workDir.resolve("transform_idToCell_" + "node"), mapMemory);) { long maxMemory = availableMemory - tag2Id.estimatedSize() - mapMemory; - if (maxMemory < (100 * MB)) { + if (maxMemory < 100 * MB) { System.out.println("warning: only 100MB memory left for transformation! " + "Increase heapsize -Xmx if possible"); } - if (maxMemory < (1 * MB)) { + if (maxMemory < 1 * MB) { throw new Exception("to few memory left for transformation. " + "You need to increase JVM heapsize -Xmx for transforming"); } - System.out.println("maxMemory for transformation: " + (maxMemory / 1024L / 1024L) + " mb"); + System.out.println("maxMemory for transformation: " + maxMemory / 1024L / 1024L + " mb"); System.out.print("start transforming ways ..."); Transform.withMaxMemory(maxMemory).withWorkDirectory(workDir).transformWays(pbfMeta, maxZoom, tag2Id, node2Cell, worker, workerTotal); @@ -175,22 +175,22 @@ public static void transform(TransformArgs config) throws Exception { final long mapMemory = availableMemory / 2L; final long mapMemoryNode = mapMemory / 3L; try ( - final SortedLong2LongMap node2Cell = new SortedLong2LongMap( + SortedLong2LongMap node2Cell = new SortedLong2LongMap( workDir.resolve("transform_idToCell_" + "node"), mapMemoryNode); - final SortedLong2LongMap way2Cell = new SortedLong2LongMap( + SortedLong2LongMap way2Cell = new SortedLong2LongMap( workDir.resolve("transform_idToCell_" + "way"), mapMemory - mapMemoryNode);) { long maxMemory = availableMemory - tag2Id.estimatedSize() - role2Id.estimatedSize() - mapMemory; - if (maxMemory < (100 * MB)) { + if (maxMemory < 100 * MB) { System.out.println("warning: only 100MB memory left for transformation! " + "Increase heapsize -Xmx if possible"); } - if (maxMemory < (1 * MB)) { + if (maxMemory < 1 * MB) { throw new Exception("to few memory left for transformation. " + "You need to increase JVM heapsize -Xmx for transforming"); } - System.out.println("maxMemory for transformation: " + (maxMemory / 1024L / 1024L) + " mb"); + System.out.println("maxMemory for transformation: " + maxMemory / 1024L / 1024L + " mb"); System.out.print("start transforming relations ..."); Transform.withMaxMemory(maxMemory).withWorkDirectory(workDir).transformRelations(pbfMeta, maxZoom, tag2Id, role2Id, node2Cell, way2Cell, worker, workerTotal); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerNode.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerNode.java index 14d544dde..1c39074e2 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerNode.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerNode.java @@ -43,13 +43,11 @@ public void transform(long id, List versions) { final long zId = getCell(node.getLongitude(), node.getLatitude()); if (zId >= 0) { cellIds.add(zId); - } else { - // System.err.printf("negative zId! %s%n", node); } } nodes.add(getNode(node)); } - final long cellId = (cellIds.size() > 0) ? findBestFittingCellId(cellIds) : -1; + final long cellId = cellIds.size() > 0 ? findBestFittingCellId(cellIds) : -1; try { diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerTagRoles.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerTagRoles.java index 2275bc710..3ca949085 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerTagRoles.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/TransformerTagRoles.java @@ -47,7 +47,7 @@ public static TagToIdMapper getTagToIdMapper(Path workDirectory) final StringToIdMappingImpl[] value2IdMappings; final Function input = Functions.identity(); - try (final RandomAccessFile raf = + try (RandomAccessFile raf = new RandomAccessFile(workDirectory.resolve("extract_keyvalues").toFile(), "r")) { final FileChannel channel = raf.getChannel(); try ( @@ -156,16 +156,15 @@ public static RoleToIdMapper getRoleToIdMapper(Path workDirectory) InputStream in = input.apply(new BufferedInputStream( new FileInputStream(workDirectory.resolve("extract_roles").toFile()))); DataInputStream dataIn = new DataInputStream(new BufferedInputStream(in))) { - - try { - while (true) { - final Role role = Role.read(dataIn); - final int hash = hashFunction.applyAsInt(role.role); - roleHash2Cnt.addTo(hash, 1); - roleCount++; - } - } catch (EOFException e) { - // no-op + while (true) { + final Role role = Role.read(dataIn); + final int hash = hashFunction.applyAsInt(role.role); + roleHash2Cnt.addTo(hash, 1); + roleCount++; + } + } catch (IOException e) { + if (!(e instanceof EOFException)) { + throw e; } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHEntity.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHEntity.java index ed1bb3779..f816a018e 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHEntity.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHEntity.java @@ -7,18 +7,18 @@ public interface OSHEntity { - public long getId(); + long getId(); - public OSHDBBoundingBox getBoundingBox(); + OSHDBBoundingBox getBoundingBox(); - public abstract OSMType getType(); + abstract OSMType getType(); - public Iterable versions(); + Iterable versions(); - public Iterator iterator(); + Iterator iterator(); - public Stream stream(); + Stream stream(); - public OSHEntity copy(); + OSHEntity copy(); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHNode.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHNode.java index 8ccd2da71..4b63c5d3b 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHNode.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSHNode.java @@ -13,16 +13,16 @@ default OSMType getType() { } @Override - public OSHNode copy(); + OSHNode copy(); @Override - public Iterator iterator(); + Iterator iterator(); @Override - public Iterable versions(); + Iterable versions(); @Override - public default Stream stream() { + default Stream stream() { return StreamSupport.stream(versions().spliterator(), false); } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMEntity.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMEntity.java index 790beb86f..1ce35ef02 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMEntity.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMEntity.java @@ -18,7 +18,7 @@ public interface OSMEntity extends OSHDBTemporal { int[] getTags(); - public default String asString() { + default String asString() { return String.format("ID:%d V:%d TS:%d CS:%d VIS:%s UID:%d TAGS:%S", getId(), getVersion(), getEpochSecond(), getChangeset(), isVisible(), getUserId(), Arrays.toString(getTags())); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMMember.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMMember.java index 389ba6930..2dbe0f29f 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMMember.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMMember.java @@ -3,15 +3,15 @@ import org.heigit.ohsome.oshdb.osm.OSMType; public interface OSMMember { - public long getId(); + long getId(); - public OSMType getType(); + OSMType getType(); - public int getRoleId(); + int getRoleId(); - public OSHEntity getEntity(); + OSHEntity getEntity(); - public default String asString() { + default String asString() { return String.format("%s:%d (%d)", getType(), getId(), getRoleId()); } } \ No newline at end of file diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMWay.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMWay.java index 4ac113615..1b31ef987 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMWay.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/OSMWay.java @@ -4,7 +4,7 @@ public interface OSMWay extends OSMEntity { - public OSMMember[] getMembers(); + OSMMember[] getMembers(); @Override default String asString() { diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/TransformOSHEntity.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/TransformOSHEntity.java index 23aa53445..22ebfe489 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/TransformOSHEntity.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/oshdb/TransformOSHEntity.java @@ -5,10 +5,10 @@ public abstract class TransformOSHEntity extends OSHEntityImpl { - public TransformOSHEntity(byte[] data, int offset, int length, long baseId, long baseTimestamp, + public TransformOSHEntity(byte[] data, int offset, int length, long baseTimestamp, long baseLongitude, long baseLatitude, byte header, long id, OSHDBBoundingBox bbox, int[] keys, int dataOffset, int dataLength) { - super(data, offset, length, baseId, baseTimestamp, baseLongitude, baseLatitude, header, id, + super(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, bbox.getMinLonLong(), bbox.getMinLatLong(), bbox.getMaxLonLong(), bbox.getMaxLatLong(), keys, dataOffset, dataLength); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformReader.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformReader.java index 31be12660..881971a3c 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformReader.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformReader.java @@ -68,7 +68,7 @@ protected void readHeader() throws IOException { } public boolean hasNext() { - return (pos + bytes) < end; + return pos + bytes < end; } @SuppressWarnings("rawtypes") @@ -80,7 +80,7 @@ public TransformReader next() { try { raf.close(); } catch (Exception e2) { - // Exceptions should be ignored + e.addSuppressed(e2); } throw new RuntimeException(e); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformRelationReaders.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformRelationReaders.java index 8bf0a0914..ad85cafd5 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformRelationReaders.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformRelationReaders.java @@ -2,6 +2,7 @@ import java.io.Closeable; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,7 @@ public void close() throws IOException { try { reader.close(); } catch (IOException e) { - //TODO check it? + throw new UncheckedIOException(e); } }); } @@ -75,7 +76,7 @@ public long getCellId() { public Set next() { next.add(queue.poll()); final long cellId = next.get(0).getCellId(); - while (!queue.isEmpty() && (cellId == queue.peek().cellId)) { + while (!queue.isEmpty() && cellId == queue.peek().cellId) { next.add(queue.poll()); } // final int size = next.stream().mapToInt(TransformReader::getSize).sum(); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformWayReaders.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformWayReaders.java index 44082c3e0..064816845 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformWayReaders.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransformWayReaders.java @@ -2,6 +2,7 @@ import java.io.Closeable; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,7 @@ public void close() throws IOException { try { reader.close(); } catch (IOException e) { - //TODO check-it? + throw new UncheckedIOException(e); } }); } @@ -75,7 +76,7 @@ public long getCellId() { public Set next() { next.add(queue.poll()); final long cellId = next.get(0).getCellId(); - while (!queue.isEmpty() && (cellId == queue.peek().cellId)) { + while (!queue.isEmpty() && cellId == queue.peek().cellId) { next.add(queue.poll()); } // final int size = next.stream().mapToInt(TransformReader::getSize).sum(); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransfromNodeReaders.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransfromNodeReaders.java index d205e296b..e0a23b68d 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransfromNodeReaders.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/transform/reader/TransfromNodeReaders.java @@ -2,6 +2,7 @@ import java.io.Closeable; import java.io.IOException; +import java.io.UncheckedIOException; import java.nio.file.Path; import java.util.ArrayList; import java.util.List; @@ -56,7 +57,7 @@ public void close() throws IOException { try { reader.close(); } catch (IOException e) { - //TODO no-op + throw new UncheckedIOException(e); } }); } @@ -75,7 +76,7 @@ public long getCellId() { public Set next() { next.add(queue.poll()); final long cellId = next.get(0).getCellId(); - while (!queue.isEmpty() && (cellId == queue.peek().cellId)) { + while (!queue.isEmpty() && cellId == queue.peek().cellId) { next.add(queue.poll()); } // final int size = next.stream().mapToInt(TransformReader::getSize).sum(); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ExternalSort.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ExternalSort.java index 40287b810..42a97fe79 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ExternalSort.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ExternalSort.java @@ -119,7 +119,7 @@ private Iterator sortInBatch(Iterator source) throws IOException { batch.add(next); currentSize += estimator.applyAsLong(next); } - List> merge = new ArrayList<>(((batches != null) ? batches.size() : 0) + 1); + List> merge = new ArrayList<>((batches != null ? batches.size() : 0) + 1); if (batches != null) { for (File file : batches) { InputStream in = input.apply(new BufferedInputStream(new FileInputStream(file))); @@ -193,7 +193,7 @@ private T getNext() { try { input.close(); } catch (IOException e1) { - // no-opt + e.addSuppressed(e1); } closed = true; } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/OSHDbToIgnite.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/OSHDbToIgnite.java index 7cb5fa487..a08ea7933 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/OSHDbToIgnite.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/OSHDbToIgnite.java @@ -94,7 +94,7 @@ private static void doGridImport(Ignite ignite, Statement stmt, TableNames c default: throw new IllegalArgumentException("unknown cacheName " + cacheName); } - try (final ResultSet rst = stmt.executeQuery("select level, id, data from " + tableName)) { + try (ResultSet rst = stmt.executeQuery("select level, id, data from " + tableName)) { int cnt = 0; System.out.println(LocalDateTime.now() + " START loading " + tableName + " into " + cache.getName() + " on Ignite"); @@ -109,7 +109,7 @@ private static void doGridImport(Ignite ignite, Statement stmt, TableNames c @SuppressWarnings("unchecked") final T grid = (T) ois.readObject(); streamer.addData(levelId, grid); - if ((++cnt % 10) == 0) { + if (++cnt % 10 == 0) { streamer.flush(); } } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/RoleToIdMapper.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/RoleToIdMapper.java index a5ca569af..19b4a762a 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/RoleToIdMapper.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/RoleToIdMapper.java @@ -1,8 +1,8 @@ package org.heigit.ohsome.oshdb.tool.importer.util; public interface RoleToIdMapper { - - public int getRole(String role); - public long estimatedSize(); + int getRole(String role); + + long estimatedSize(); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/SizeEstimator.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/SizeEstimator.java index 6ea6dd9ca..9796c9693 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/SizeEstimator.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/SizeEstimator.java @@ -26,11 +26,9 @@ public class SizeEstimator { // string object // no harm done here since this is just an approximation. String arch = System.getProperty("sun.arch.data.model"); - if (arch != null) { - if (arch.contains("32")) { + if (arch != null && arch.contains("32")) { // If exists and is 32 bit then we assume a 32bit JVM IS_64_BIT_JVM = false; - } } // The sizes below are a bit rough as we don't take into account // advanced JVM options such as compressed oops diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/StringToIdMapping.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/StringToIdMapping.java index a34105595..707d71d55 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/StringToIdMapping.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/StringToIdMapping.java @@ -2,5 +2,5 @@ public interface StringToIdMapping { - public int getId(final String key); + int getId(final String key); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/TagToIdMapper.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/TagToIdMapper.java index 8608b6dfa..864e6e818 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/TagToIdMapper.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/TagToIdMapper.java @@ -2,12 +2,12 @@ public interface TagToIdMapper { - public int getKey(String key); + int getKey(String key); - public int getValue(int key, String value); + int getValue(int key, String value); - public TagId getTag(String key, String value); + TagId getTag(String key, String value); - public long estimatedSize(); + long estimatedSize(); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ZGrid.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ZGrid.java index 0c021c249..df4c137c8 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ZGrid.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/ZGrid.java @@ -17,6 +17,9 @@ public class ZGrid { private final int maxZoom; private static final OSHDBBoundingBox zeroBoundingBox = new OSHDBBoundingBox(0, 0, 0, 0); + /** + * Creates a {@code ZGrid} index based on maximal Zoom. + */ public ZGrid(int maxZoom) { if (maxZoom < 1) { throw new IllegalArgumentException("maxZoom must be >= 1 but is " + maxZoom); @@ -61,7 +64,7 @@ public long getIdSingleZidWithZoom(long minLon, long maxLon, long minLat, long m y[0] = minLat / cellWidth; y[1] = maxLat / cellWidth; - if ((x[0] == x[1]) && (y[0] == y[1])) { + if (x[0] == x[1] && y[0] == y[1]) { break; } zoom -= 1; @@ -80,7 +83,7 @@ public static int getZoom(long zid) { } public static long addZoomToId(long id, int zoom) { - return id + (zoom * ZOOM_FACTOR); + return id + zoom * ZOOM_FACTOR; } public static long getIdWithoutZoom(long zid) { @@ -97,7 +100,7 @@ public static long getParent(long zid, int parentZoom) { return zid; } final long diff = zoom - parentZoom; - final long id = (getIdWithoutZoom(zid) >>> (diff * 2)); + final long id = getIdWithoutZoom(zid) >>> diff * 2; return addZoomToId(id, parentZoom); } @@ -122,9 +125,9 @@ public static OSHDBBoundingBox getBoundingBox(long zid) { long[] xy = getXy(id); final long minLon = denormalizeLon(xy[0] * cellWidth); - final long maxLon = (minLon + cellWidth) - 1; + final long maxLon = minLon + cellWidth - 1; final long minLat = denormalizeLat(xy[1] * cellWidth); - final long maxLat = (minLat + cellWidth) - 1; + final long maxLat = minLat + cellWidth - 1; return new OSHDBBoundingBox(minLon, minLat, maxLon, maxLat); } @@ -132,10 +135,10 @@ public static OSHDBBoundingBox getBoundingBox(long zid) { private static long[] getXy(long id) { long[] xy = new long[2]; for (long mask = 1, offset = 0; - (id >= (1 << offset)) && (mask < Integer.MAX_VALUE); + id >= 1 << offset && mask < Integer.MAX_VALUE; mask <<= 1) { - xy[0] |= (id >> offset++) & mask; - xy[1] |= (id >> offset) & mask; + xy[0] |= id >> offset++ & mask; + xy[1] |= id >> offset & mask; } return xy; } @@ -144,7 +147,7 @@ private int optimalZoom(long delta) { if (delta == 0) { return maxZoom; } - return Math.min(63 - Long.numberOfLeadingZeros((space / (delta))), maxZoom); + return Math.min(63 - Long.numberOfLeadingZeros(space / delta), maxZoom); } private static long morton(long x, long y) { @@ -162,7 +165,7 @@ private static long morton(long x, long y) { int mask = 1; for (int i = 0; i < n; i++) { z |= (x & mask) << i; - z |= (y & mask) << (1 + i); + z |= (y & mask) << 1 + i; mask <<= 1; } return z; @@ -185,14 +188,14 @@ private static long denormalizeLat(long lat) { } private static boolean validateLon(long lon) { - if ((lon < 0) || (lon > space)) { + if (lon < 0 || lon > space) { return false; } return true; } private static boolean validateLat(long lat) { - if ((lat < 0) || (lat > (space / 2))) { + if (lat < 0 || lat > space / 2) { return false; } return true; @@ -200,7 +203,7 @@ private static boolean validateLat(long lat) { public static final Comparator ORDER_DFS_TOP_DOWN = (a, b) -> { if (a == -1) { - return (b == -1) ? 0 : -1; + return b == -1 ? 0 : -1; } if (b == -1) { return 1; @@ -218,16 +221,16 @@ private static boolean validateLat(long lat) { final long y; final int prio; if (aZ < bZ) { - x = aId << (DIMENSION * deltaZ); + x = aId << DIMENSION * deltaZ; y = bId; prio = -1; } else { x = aId; - y = bId << (DIMENSION * deltaZ); + y = bId << DIMENSION * deltaZ; prio = 1; } final int r = Long.compare(x, y); - return (r == 0) ? prio : r; + return r == 0 ? prio : r; }; public static final Comparator ORDER_DFS_BOTTOM_UP = (a, b) -> { @@ -245,15 +248,15 @@ private static boolean validateLat(long lat) { if (aZ < bZ) { x = aId; - y = bId >>> (DIMENSION * deltaZ); + y = bId >>> DIMENSION * deltaZ; prio = 1; } else { - x = aId >>> (DIMENSION * deltaZ);; + x = aId >>> DIMENSION * deltaZ; y = bId; prio = -1; } final int r = Long.compare(x, y); - return (r == 0) ? prio : r; + return r == 0 ? prio : r; }; } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/LongToLongMap.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/LongToLongMap.java index 0f66106a2..77b14de44 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/LongToLongMap.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/LongToLongMap.java @@ -1,7 +1,7 @@ package org.heigit.ohsome.oshdb.tool.importer.util.long2long; public interface LongToLongMap { - - public long get(long id); + + long get(long id); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/DensePage.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/DensePage.java index 074a534f4..ffb9c74d0 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/DensePage.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/DensePage.java @@ -1,6 +1,7 @@ package org.heigit.ohsome.oshdb.tool.importer.util.long2long.page; import java.io.IOException; +import java.io.UncheckedIOException; import java.util.Arrays; import org.heigit.ohsome.oshdb.util.bytearray.ByteArrayWrapper; import org.roaringbitmap.IntConsumer; @@ -37,10 +38,9 @@ public void accept(int bit) { try { page.cellIds[bit] = data.readS64() + lastValue; } catch (IOException e) { - // TODO throw unchecked exception + throw new UncheckedIOException(e); } lastValue = page.cellIds[bit]; - } }); diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/Page.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/Page.java index 05b703f10..537a80597 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/Page.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/Page.java @@ -1,7 +1,7 @@ package org.heigit.ohsome.oshdb.tool.importer.util.long2long.page; public interface Page { - public long get(int offset); + long get(int offset); - public int weigh(); + int weigh(); } diff --git a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/PageLoader.java b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/PageLoader.java index d74e40415..e09bc0eac 100644 --- a/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/PageLoader.java +++ b/oshdb-tool/etl/src/main/java/org/heigit/ohsome/oshdb/tool/importer/util/long2long/page/PageLoader.java @@ -46,8 +46,10 @@ public PageLoader(String pageIndex, RandomAccessFile rafPages, final int rawSize = dataInput.readInt(); this.pageIndex.put(Integer.valueOf(pageNumber), new PageLocation(offset, size, rawSize)); } - } catch (EOFException e) { - // no-op + } catch (IOException e) { + if (!(e instanceof EOFException)) { + throw e; + } } } } @@ -78,7 +80,7 @@ public Page load(Integer key) throws Exception { ByteArrayWrapper wrapper = ByteArrayWrapper.newInstance(bytes, (int) input.position(), input.available()); - if (bitmap.getLongCardinality() > (pageSize / 2)) { + if (bitmap.getLongCardinality() > pageSize / 2) { long[] pageContent = new long[pageSize]; Arrays.fill(pageContent, -1); diff --git a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/BlobToOSHIterator.java b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/BlobToOSHIterator.java index 0acd9aa09..ba49ffb52 100644 --- a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/BlobToOSHIterator.java +++ b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/BlobToOSHIterator.java @@ -37,7 +37,7 @@ public BlobToOSHIterator(PbfBlob blob, Osmformat.PrimitiveBlock block, boolean s } nextEntity = primitiveIterator.next(); - if ((nextEntity.getVersion() != 1) && blob.isFirstBlob && skipFirst) { + if (nextEntity.getVersion() != 1 && blob.isFirstBlob && skipFirst) { // skip next versions of the same id System.out.println("skip " + nextEntity); final long skip = nextEntity.getId(); @@ -55,7 +55,7 @@ public BlobToOSHIterator(PbfBlob blob, Osmformat.PrimitiveBlock block, boolean s @Override public boolean hasNext() { - return (next != null); + return next != null; } @Override diff --git a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/OsmPrimitveBlockIterator.java b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/OsmPrimitveBlockIterator.java index fc746d413..4fc9c10a3 100644 --- a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/OsmPrimitveBlockIterator.java +++ b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/OsmPrimitveBlockIterator.java @@ -234,7 +234,7 @@ public Entity next() { changeset += changesetList.get(index); uid += uidList.get(index); userSid += userSidList.get(index); - visible = (!visibleList.isEmpty()) ? visibleList.get(index) : true; + visible = visibleList.isEmpty() || visibleList.get(index); } List tags = new ArrayList<>(); @@ -311,7 +311,7 @@ private String getString(int sid) { @SuppressWarnings("rawtypes") private boolean hasElements(List l) { - if ((l == null) || l.isEmpty()) { + if (l == null || l.isEmpty()) { return false; } return true; diff --git a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/PbfBlob.java b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/PbfBlob.java index bb139d525..c28ffa59a 100644 --- a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/PbfBlob.java +++ b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/pbf/PbfBlob.java @@ -25,7 +25,9 @@ public class PbfBlob { private Osmformat.PrimitiveBlock block = null; - + /** + * Create a {@code PbfBlob} from {@code Fileformat.Blob}. + */ public PbfBlob(final long pos, final Fileformat.BlobHeader header, final Fileformat.Blob blob, boolean isFirstBlob, boolean overSoftLimit) { this.pos = pos; @@ -47,6 +49,9 @@ public boolean isData() { return header.getType().equals("OSMData"); } + /** + * Returns {@code Osmformat.HeaderBlock} if {@code PbfBlob} is a HeaderBlob else {@code null}. + */ public Osmformat.HeaderBlock getHeaderBlock() throws InvalidProtocolBufferException { if (isHeader()) { final ByteString data = getData(); @@ -55,6 +60,9 @@ public Osmformat.HeaderBlock getHeaderBlock() throws InvalidProtocolBufferExcept return null; } + /** + * Returns {@code Osmformat.PrimitiveBlock} if {@code PbfBlob} is a DataBlob else {@code null}. + */ public Osmformat.PrimitiveBlock getPrimitivBlock() throws InvalidProtocolBufferException { if (isData()) { if (block != null) { @@ -68,6 +76,9 @@ public Osmformat.PrimitiveBlock getPrimitivBlock() throws InvalidProtocolBufferE return null; } + /** + * Decompress if necessary and returns the decompressed Data {@code ByteString}. + */ public ByteString getData() { ByteString data = ByteString.EMPTY; @@ -79,7 +90,7 @@ public ByteString getData() { try { decompresser.setInput(content.getZlibData().toByteArray()); decompresser.inflate(buf2); - assert (decompresser.finished()); + assert decompresser.finished(); } catch (DataFormatException e) { e.printStackTrace(); throw new Error(e); diff --git a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/OshMerger.java b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/OshMerger.java index 731290cce..ef3304ff6 100644 --- a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/OshMerger.java +++ b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/OshMerger.java @@ -2,7 +2,6 @@ import io.reactivex.Flowable; import io.reactivex.FlowableSubscriber; -import io.reactivex.internal.fuseable.ConditionalSubscriber; import io.reactivex.internal.fuseable.QueueSubscription; import io.reactivex.internal.subscriptions.SubscriptionHelper; import io.reactivex.plugins.RxJavaPlugins; @@ -21,11 +20,7 @@ public OshMerger(Flowable source) { @Override protected void subscribeActual(Subscriber actual) { - if (actual instanceof ConditionalSubscriber) { - // System.out.println("s instanceof ConditionalSubscriber"); - } source.subscribe(new OshMergerSubscriber(actual)); - } private static final class OshMergerSubscriber implements FlowableSubscriber, Subscription { @@ -46,7 +41,7 @@ private OshMergerSubscriber(Subscriber actual) { } @Override - public final void onSubscribe(Subscription s) { + public void onSubscribe(Subscription s) { if (SubscriptionHelper.validate(this.upstream, s)) { this.upstream = s; diff --git a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/RxOshPbfReader.java b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/RxOshPbfReader.java index 03d93582f..3b09249c6 100644 --- a/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/RxOshPbfReader.java +++ b/oshdb-tool/oshpbf-parser/src/main/java/org/heigit/ohsome/oshpbf/parser/rx/RxOshPbfReader.java @@ -13,6 +13,7 @@ import java.io.InputStream; import java.io.PushbackInputStream; import java.io.RandomAccessFile; +import java.io.UncheckedIOException; import java.nio.ByteBuffer; import java.nio.channels.Channels; import java.nio.channels.FileChannel; @@ -122,8 +123,8 @@ private static Callable openPbfAndSeekFirstBlockStart(Path pbfPath, final long sl; final long hl; - hl = (hardLimit <= 0) ? raf.getChannel().size() : hardLimit; - sl = Math.min(((softLimit <= 0) ? raf.getChannel().size() : softLimit), hl); + hl = hardLimit <= 0 ? raf.getChannel().size() : hardLimit; + sl = Math.min(softLimit <= 0 ? raf.getChannel().size() : softLimit, hl); if (seekStartPos(raf, pos, sl)) { return new PbfChannel(raf, sl, hl, true); @@ -160,13 +161,13 @@ public static long seekBlobHeaderStart(final InputStream is, final long limit) totalBytesRead++; int val = 0; while (nextByte != -1) { - if (((val < SIGNATURE_OSMDATA.length) && (SIGNATURE_OSMDATA[val] == nextByte)) - || ((val < SIGNATURE_OSMHEADER.length) && (SIGNATURE_OSMHEADER[val] == nextByte))) { + if (val < SIGNATURE_OSMDATA.length && SIGNATURE_OSMDATA[val] == nextByte + || val < SIGNATURE_OSMHEADER.length && SIGNATURE_OSMHEADER[val] == nextByte) { pushBackBytes[BLOBHEADER_SIZE_BYTES + val] = (byte) nextByte; - if ((val == (SIGNATURE_OSMDATA.length - 1)) - || (val == (SIGNATURE_OSMHEADER.length - 1))) { + if (val == SIGNATURE_OSMDATA.length - 1 + || val == SIGNATURE_OSMHEADER.length - 1) { // Full OSMHeader\Data SIGNATURE is found. pushBackStream.unread(pushBackBytes, 0, BLOBHEADER_SIZE_BYTES + val + 1); totalBytesRead -= BLOBHEADER_SIZE_BYTES + val + 1; @@ -175,12 +176,12 @@ public static long seekBlobHeaderStart(final InputStream is, final long limit) val++; } else if (val != 0) { // break - if ((limit > 0) && (totalBytesRead > limit)) { + if (limit > 0 && totalBytesRead > limit) { return -1; } val = 0; - if ((SIGNATURE_OSMDATA[val] == nextByte) || (SIGNATURE_OSMHEADER[val] == nextByte)) { + if (SIGNATURE_OSMDATA[val] == nextByte || SIGNATURE_OSMHEADER[val] == nextByte) { pushBackBytes[BLOBHEADER_SIZE_BYTES + val] = (byte) nextByte; val++; } else { @@ -256,7 +257,7 @@ private static Consumer closePbf() { input.raf.close(); } catch (IOException io) { - //TODO check it? + throw new UncheckedIOException(io); } }; } diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundable.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundable.java index 0f5fb487d..f1b213202 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundable.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundable.java @@ -36,11 +36,11 @@ default double getMaxLat() { * @return the intersection between this and {@code other} {@code OSHDBBoundable} */ default boolean intersects(OSHDBBoundable other) { - return (other != null) - && (getMaxLatLong() >= other.getMinLatLong()) - && (getMinLatLong() <= other.getMaxLatLong()) - && (getMaxLonLong() >= other.getMinLonLong()) - && (getMinLonLong() <= other.getMaxLonLong()); + return other != null + && getMaxLatLong() >= other.getMinLatLong() + && getMinLatLong() <= other.getMaxLatLong() + && getMaxLonLong() >= other.getMinLonLong() + && getMinLonLong() <= other.getMaxLonLong(); } /** @@ -50,11 +50,11 @@ default boolean intersects(OSHDBBoundable other) { * @return {@code true} if the {@code OSHDBBoundable} is inside */ default boolean coveredBy(OSHDBBoundable other) { - return (other != null) - && (getMinLatLong() >= other.getMinLatLong()) - && (getMaxLatLong() <= other.getMaxLatLong()) - && (getMinLonLong() >= other.getMinLonLong()) - && (getMaxLonLong() <= other.getMaxLonLong()); + return other != null + && getMinLatLong() >= other.getMinLatLong() + && getMaxLatLong() <= other.getMaxLatLong() + && getMinLonLong() >= other.getMinLonLong() + && getMaxLonLong() <= other.getMaxLonLong(); } default boolean isPoint() { diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundingBox.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundingBox.java index e007922f6..8ea6146de 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundingBox.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/OSHDBBoundingBox.java @@ -77,10 +77,10 @@ public String toString() { @Override public int hashCode() { int hash = 7; - hash = 79 * hash + (int) (this.minLon ^ (this.minLon >>> 32)); - hash = 79 * hash + (int) (this.maxLon ^ (this.maxLon >>> 32)); - hash = 79 * hash + (int) (this.minLat ^ (this.minLat >>> 32)); - hash = 79 * hash + (int) (this.maxLat ^ (this.maxLat >>> 32)); + hash = 79 * hash + (int) (this.minLon ^ this.minLon >>> 32); + hash = 79 * hash + (int) (this.maxLon ^ this.maxLon >>> 32); + hash = 79 * hash + (int) (this.minLat ^ this.minLat >>> 32); + hash = 79 * hash + (int) (this.maxLat ^ this.maxLat >>> 32); return hash; } diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHNodes.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHNodes.java index 158bbc060..f97093269 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHNodes.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHNodes.java @@ -22,7 +22,6 @@ public static GridOSHNodes rebase(final long id, final int level, final long bas final List list) throws IOException { int offset = 0; - final ByteArrayOutputStream out = new ByteArrayOutputStream(); final int[] index = new int[list.size()]; for (int i = 0; i < index.length; i++) { @@ -56,7 +55,7 @@ public Iterator iterator() { @Override public OSHNode next() { int offset = index[pos]; - int length = ((pos < index.length - 1) ? index[pos + 1] : data.length) - offset; + int length = (pos < index.length - 1 ? index[pos + 1] : data.length) - offset; pos++; try { return OSHNodeImpl.instance(data, offset, length, baseId, baseTimestamp, baseLongitude, diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHRelations.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHRelations.java index 0207b320d..6b07ad37d 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHRelations.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHRelations.java @@ -22,7 +22,6 @@ public static GridOSHRelations compact(final long id, final int level, final lon final List list) throws IOException { int offset = 0; - final ByteArrayOutputStream out = new ByteArrayOutputStream(); final int[] index = new int[list.size()]; // TODO user iterator!! @@ -58,7 +57,7 @@ public Iterator iterator() { @Override public OSHRelation next() { int offset = index[pos]; - int length = ((pos < index.length - 1) ? index[pos + 1] : data.length) - offset; + int length = (pos < index.length - 1 ? index[pos + 1] : data.length) - offset; pos++; try { return OSHRelationImpl.instance(data, offset, length, baseId, baseTimestamp, diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHWays.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHWays.java index 2c6d1c24a..9c0c12679 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHWays.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/grid/GridOSHWays.java @@ -32,7 +32,6 @@ public static GridOSHWays compact(final long id, final int level, final long bas offset += buffer.remaining(); } final byte[] data = out.toByteArray(); - return new GridOSHWays(id, level, baseId, baseTimestamp, baseLongitude, baseLatitude, index, data); } @@ -55,7 +54,7 @@ public Iterator iterator() { @Override public OSHWay next() { int offset = index[pos]; - int length = ((pos < (index.length - 1)) ? index[pos + 1] : data.length) - offset; + int length = (pos < index.length - 1 ? index[pos + 1] : data.length) - offset; pos++; try { return OSHWayImpl.instance(data, offset, length, baseId, baseTimestamp, baseLongitude, diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHEntityImpl.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHEntityImpl.java index e81558275..f24ceef2b 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHEntityImpl.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHEntityImpl.java @@ -48,12 +48,12 @@ public SortedSet getKeySet() { } protected void build(OSMEntity version, byte changed) throws IOException { - int v = (version.getVersion() * (!version.isVisible() ? -1 : 1)); + int v = version.getVersion() * (!version.isVisible() ? -1 : 1); output.writeS32(v - lastVersion); lastVersion = v; - output.writeS64((version.getEpochSecond() - lastTimestamp) - baseTimestamp); - if (!firstVersion && (lastTimestamp < version.getEpochSecond())) { + output.writeS64(version.getEpochSecond() - lastTimestamp - baseTimestamp); + if (!firstVersion && lastTimestamp < version.getEpochSecond()) { timestampsNotInOrder = true; } lastTimestamp = version.getEpochSecond(); @@ -83,7 +83,7 @@ protected void build(OSMEntity version, byte changed) throws IOException { output.writeU32(keyValues.length); for (int kv = 0; kv < keyValues.length; kv++) { output.writeU32(keyValues[kv]); - if ((kv % 2) == 0) { + if (kv % 2 == 0) { keySet.add(Integer.valueOf(keyValues[kv])); } } @@ -112,7 +112,7 @@ protected void build(OSMEntity version, byte changed) throws IOException { protected final int dataOffset; protected final int dataLength; - protected OSHEntityImpl(final byte[] data, final int offset, final int length, final long baseId, + protected OSHEntityImpl(final byte[] data, final int offset, final int length, final long baseTimestamp, final long baseLongitude, final long baseLatitude, final byte header, final long id, long minLon, long minLat, long maxLon, long maxLat, final int[] keys, final int dataOffset, final int dataLength) { @@ -140,7 +140,7 @@ protected OSHEntityImpl(final byte[] data, final int offset, final int length, f * Return the underlying data/byte array and creates a copy if necessary. */ public byte[] getData() { - if ((offset == 0) && (length == data.length)) { + if (offset == 0 && length == data.length) { return data; } byte[] result = new byte[length]; diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHNodeImpl.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHNodeImpl.java index d6d387c27..1abea95d1 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHNodeImpl.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHNodeImpl.java @@ -77,19 +77,19 @@ public static OSHNodeImpl instance(final byte[] data, final int offset, final in // TODO maybe better to store number of versions instead final int dataLength = length - (dataOffset - offset); - return new OSHNodeImpl(data, offset, length, baseNodeId, baseTimestamp, baseLongitude, + return new OSHNodeImpl(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, minLon, minLat, maxLon, maxLat, keys, dataOffset, dataLength); } - private OSHNodeImpl(final byte[] data, final int offset, final int length, final long baseNodeId, + private OSHNodeImpl(final byte[] data, final int offset, final int length, final long baseTimestamp, final long baseLongitude, final long baseLatitude, final byte header, final long id, long minLon, long minLat, long maxLon, long maxLat, final int[] keys, final int dataOffset, final int dataLength) { - super(data, offset, length, baseNodeId, baseTimestamp, baseLongitude, baseLatitude, header, id, + super(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, minLon, minLat, maxLon, maxLat, keys, dataOffset, dataLength); // correct bbox! - if (!((minLon <= maxLon) && (minLat <= maxLat))) { + if (!(minLon <= maxLon && minLat <= maxLat)) { minLon = Long.MAX_VALUE; maxLon = Long.MIN_VALUE; minLat = Long.MAX_VALUE; @@ -169,9 +169,9 @@ public OSMNode next() { latitude = wrapper.readS64() + latitude; } - return new OSMNode(id, version, (baseTimestamp + timestamp), changeset, userId, keyValues, - (version > 0) ? baseLongitude + longitude : 0, - (version > 0) ? baseLatitude + latitude : 0); + return new OSMNode(id, version, baseTimestamp + timestamp, changeset, userId, keyValues, + version > 0 ? baseLongitude + longitude : 0, + version > 0 ? baseLatitude + latitude : 0); } catch (IOException e) { e.printStackTrace(); } @@ -223,14 +223,14 @@ public static ByteBuffer buildRecord(List versions, final long baseId, byte changed = 0; if (version.isVisible() - && ((node.getLon() != lastLongitude) || (node.getLat() != lastLatitude))) { + && (node.getLon() != lastLongitude || node.getLat() != lastLatitude)) { changed |= CHANGED_LOCATION; } builder.build(version, changed); if ((changed & CHANGED_LOCATION) != 0) { - output.writeS64((node.getLon() - baseLongitude) - (lastLongitude - baseLongitude)); + output.writeS64(node.getLon() - baseLongitude - (lastLongitude - baseLongitude)); lastLongitude = node.getLon(); - output.writeS64((node.getLat() - baseLatitude) - (lastLatitude - baseLatitude)); + output.writeS64(node.getLat() - baseLatitude - (lastLatitude - baseLatitude)); lastLatitude = node.getLat(); minLon = Math.min(minLon, lastLongitude); @@ -252,7 +252,7 @@ public static ByteBuffer buildRecord(List versions, final long baseId, header |= HEADER_HAS_TAGS; } - if ((minLon != maxLon) || (minLat != maxLat)) { + if (minLon != maxLon || minLat != maxLat) { header |= HEADER_HAS_BOUNDINGBOX; } diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHRelationImpl.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHRelationImpl.java index 00d477bec..51f4d821e 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHRelationImpl.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHRelationImpl.java @@ -5,6 +5,7 @@ import java.io.ObjectInput; import java.io.ObjectOutput; import java.io.Serializable; +import java.io.UncheckedIOException; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; @@ -128,20 +129,20 @@ public static OSHRelationImpl instance(final byte[] data, final int offset, fina final int dataLength = length - (dataOffset - offset); return new OSHRelationImpl(data, offset, length, // - baseId, baseTimestamp, baseLongitude, baseLatitude, // + baseTimestamp, baseLongitude, baseLatitude, // header, id, minLon, minLat, maxLon, maxLat, keys, // dataOffset, dataLength, // nodeIndex, nodeDataOffset, nodeDataLength, // wayIndex, wayDataOffset, wayDataLength); } - private OSHRelationImpl(final byte[] data, final int offset, final int length, final long baseId, + private OSHRelationImpl(final byte[] data, final int offset, final int length, final long baseTimestamp, final long baseLongitude, final long baseLatitude, byte header, long id, long minLon, long minLat, long maxLon, long maxLat, int[] keys, final int dataOffset, final int dataLength, final int[] nodeIndex, final int nodeDataOffset, final int nodeDataLength, final int[] wayIndex, final int wayDataOffset, final int wayDataLength) { - super(data, offset, length, baseId, baseTimestamp, baseLongitude, baseLatitude, header, id, + super(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, minLon, minLat, maxLon, maxLat, keys, dataOffset, dataLength); this.nodeIndex = nodeIndex; @@ -257,7 +258,7 @@ public OSMRelation next() { members[i] = new OSMMember(memberId, memberType, memberRole, member); } } - return new OSMRelation(id, version, (baseTimestamp + timestamp), + return new OSMRelation(id, version, baseTimestamp + timestamp, changeset, userId, keyValues, members); } catch (IOException e) { e.printStackTrace(); @@ -266,10 +267,9 @@ public OSMRelation next() { return null; } }; - } catch (IOException e1) { - // no-op + } catch (IOException e) { + return Collections.emptyIterator(); } - return Collections.emptyIterator(); } @Override @@ -278,7 +278,7 @@ public List getNodes() throws IOException { for (int index = 0; index < nodeIndex.length; index++) { int offset = nodeIndex[index]; int length = - ((index < (nodeIndex.length - 1)) ? nodeIndex[index + 1] : nodeDataLength) - offset; + (index < nodeIndex.length - 1 ? nodeIndex[index + 1] : nodeDataLength) - offset; OSHNode n = OSHNodeImpl.instance(data, nodeDataOffset + offset, length, 0, 0, baseLongitude, baseLatitude); nodes.add(n); @@ -291,7 +291,7 @@ public List getWays() throws IOException { List ways = new ArrayList<>(wayIndex.length); for (int index = 0; index < wayIndex.length; index++) { int offset = wayIndex[index]; - int length = ((index < (wayIndex.length - 1)) ? wayIndex[index + 1] : wayDataLength) - offset; + int length = (index < wayIndex.length - 1 ? wayIndex[index + 1] : wayDataLength) - offset; OSHWay w = OSHWayImpl.instance(data, wayDataOffset + offset, length, 0, 0, baseLongitude, baseLatitude); ways.add(w); diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHWayImpl.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHWayImpl.java index c9c9edcbd..7ab8c7932 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHWayImpl.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/impl/osh/OSHWayImpl.java @@ -96,17 +96,17 @@ public static OSHWayImpl instance(final byte[] data, final int offset, final int final int dataOffset = nodeDataOffset + nodeDataLength; final int dataLength = length - (dataOffset - offset); - return new OSHWayImpl(data, offset, length, baseId, baseTimestamp, baseLongitude, baseLatitude, + return new OSHWayImpl(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, minLon, minLat, maxLon, maxLat, keys, dataOffset, dataLength, nodeIndex, nodeDataOffset, nodeDataLength); } - private OSHWayImpl(final byte[] data, final int offset, final int length, final long baseId, + private OSHWayImpl(final byte[] data, final int offset, final int length, final long baseTimestamp, final long baseLongitude, final long baseLatitude, byte header, final long id, long minLon, long minLat, long maxLon, long maxLat, int[] keys, final int dataOffset, final int dataLength, final int[] nodeIndex, final int nodeDataOffset, final int nodeDataLength) { - super(data, offset, length, baseId, baseTimestamp, baseLongitude, baseLatitude, header, id, + super(data, offset, length, baseTimestamp, baseLongitude, baseLatitude, header, id, minLon, minLat, maxLon, maxLat, keys, dataOffset, dataLength); this.nodeIndex = nodeIndex; @@ -180,7 +180,7 @@ public OSMWay next() { } } - return new OSMWay(id, version, (baseTimestamp + timestamp), changeset, userId, + return new OSMWay(id, version, baseTimestamp + timestamp, changeset, userId, keyValues, members); } catch (IOException e) { @@ -190,9 +190,8 @@ public OSMWay next() { } }; } catch (IOException e1) { - // no-op + return Collections.emptyIterator(); } - return Collections.emptyIterator(); } @Override @@ -202,7 +201,7 @@ public List getNodes() throws IOException { for (int index = 0; index < nodeIndex.length; index++) { int offset = nodeIndex[index]; int length = - ((index < (nodeIndex.length - 1)) ? nodeIndex[index + 1] : nodeDataLength) - offset; + (index < nodeIndex.length - 1 ? nodeIndex[index + 1] : nodeDataLength) - offset; OSHNode n = OSHNodeImpl.instance(data, nodeDataOffset + offset, length, lastId, 0, baseLongitude, baseLatitude); lastId = n.getId(); diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGrid.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGrid.java index ee3aee93b..ff0a7f764 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGrid.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGrid.java @@ -102,10 +102,10 @@ public static OSHDBBoundingBox getBoundingBox(final CellId cellId, boolean enlar int x = (int) (id % grid.zoompow); int y = (int) ((id - x) / grid.zoompow); long topRightId = id; - if (x < (grid.zoompow - 1)) { + if (x < grid.zoompow - 1) { topRightId += 1; } - if (y < ((grid.zoompow / 2) - 1)) { + if (y < grid.zoompow / 2 - 1) { topRightId += grid.zoompow; } OSHDBBoundingBox bbox = grid.getCellDimensions(id); @@ -139,7 +139,7 @@ public XYGrid(final int zoom) { } zoompow = (long) Math.pow(2, this.zoom); - cellWidth = (360.0 / zoompow) * OSHDB.GEOM_PRECISION_TO_LONG; + cellWidth = 360.0 / zoompow * OSHDB.GEOM_PRECISION_TO_LONG; } /** @@ -168,10 +168,10 @@ public long getId(double longitude, double latitude) { */ public long getId(long longitude, long latitude) { // return -1, if point is outside geographical coordinate range - if ((longitude > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (longitude < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (latitude > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (latitude < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG))) { + if (longitude > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || longitude < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || latitude > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || latitude < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { return -1L; } @@ -193,7 +193,7 @@ public long getId(long longitude, long latitude) { final int x = (int) (longitude / cellWidth); final int y = (int) (latitude / cellWidth); - return (y * zoompow) + x; + return y * zoompow + x; } /** @@ -228,8 +228,8 @@ public OSHDBBoundingBox getCellDimensions(final long cellId) { int x = (int) (cellId % zoompow); int y = (int) ((cellId - x) / zoompow); // calculate the values of the south-western most corner - long lon = (long) ((x * cellWidth) - (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)); - long lat = (long) ((y * cellWidth) - (90.0 * OSHDB.GEOM_PRECISION_TO_LONG)); + long lon = (long) (x * cellWidth - 180.0 * OSHDB.GEOM_PRECISION_TO_LONG); + long lat = (long) (y * cellWidth - 90.0 * OSHDB.GEOM_PRECISION_TO_LONG); final long minlong = lon; final long maxlong = (long) (lon + cellWidth) - 1L; @@ -239,7 +239,7 @@ public OSHDBBoundingBox getCellDimensions(final long cellId) { if (zoom == 0) { minlat = (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG); maxlat = (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG); - } else if (lat == ((long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG) - cellWidth)) { + } else if (lat == (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG) - cellWidth) { minlat = lat; maxlat = (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG); } else { @@ -316,7 +316,7 @@ public boolean equals(Object obj) { return false; } IdRange other = (IdRange) obj; - return (end == other.end) && (start == other.start); + return end == other.end && start == other.start; } @Override @@ -360,32 +360,32 @@ public Set bbox2CellIdRanges(OSHDBBoundingBox bbox, boolean enlarge) { IdRange outofboundsCell = IdRange.INVALID; // test if bbox is on earth or extends further - if ((minlong < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (minlong > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG))) { + if (minlong < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || minlong > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { result.add(outofboundsCell); minlong = (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG); } - if ((minlat < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (minlat > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG))) { + if (minlat < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || minlat > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { result.add(outofboundsCell); minlat = (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG); } - if ((maxlong > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (maxlong < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG))) { + if (maxlong > (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || maxlong < (long) (-180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { result.add(outofboundsCell); maxlong = (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG); } - if ((maxlat > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - || (maxlat < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG))) { + if (maxlat > (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG) + || maxlat < (long) (-90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { result.add(outofboundsCell); maxlat = (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG); } if (minlong == (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { - minlong = ((long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - 1L; + minlong = (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG) - 1L; } if (maxlong == (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { - maxlong = ((long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG)) - 1L; + maxlong = (long) (180.0 * OSHDB.GEOM_PRECISION_TO_LONG) - 1L; } if (minlat == (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG)) { minlat = (long) (90.0 * OSHDB.GEOM_PRECISION_TO_LONG) - 1L; @@ -423,7 +423,7 @@ public Set bbox2CellIdRanges(OSHDBBoundingBox bbox, boolean enlarge) { } // add the regular cell ranges for (int row = rowmin; row <= rowmax; row++) { - result.add(IdRange.of((row * zoompow) + columnmin, (row * zoompow) + columnmax)); + result.add(IdRange.of(row * zoompow + columnmin, row * zoompow + columnmax)); } return result; } diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGridTree.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGridTree.java index 1ed48c763..0ac36c714 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGridTree.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/index/XYGridTree.java @@ -90,10 +90,9 @@ public Iterable getIds(double longitude, double latitude) { */ public CellId getInsertId(OSHDBBoundingBox bbox) { for (int i = maxLevel; i >= 0; i--) { - if (gridMap.get(i).getEstimatedIdCount(bbox) > 2) { - continue; + if (gridMap.get(i).getEstimatedIdCount(bbox) <= 2) { + return new CellId(i, gridMap.get(i).getId(bbox.getMinLonLong(), bbox.getMinLatLong())); } - return new CellId(i, gridMap.get(i).getId(bbox.getMinLonLong(), bbox.getMinLatLong())); } return null; } @@ -231,7 +230,7 @@ public Iterator iterator() { @Override public boolean hasNext() { - return (level < maxLevel) || rows.hasNext(); + return level < maxLevel || rows.hasNext(); } @Override diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMEntity.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMEntity.java index 1b597279c..1aecc9876 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMEntity.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMEntity.java @@ -62,7 +62,7 @@ public int getUserId() { } public boolean isVisible() { - return (version >= 0); + return version >= 0; } /** diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMNode.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMNode.java index cb9bc3261..697abe819 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMNode.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/osm/OSMNode.java @@ -50,7 +50,7 @@ public String toString() { public boolean equalsTo(OSMNode o) { - return super.equalsTo(o) && (longitude == o.longitude) && (latitude == o.latitude); + return super.equalsTo(o) && longitude == o.longitude && latitude == o.latitude; } @Override diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/CellId.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/CellId.java index 602e160dd..d46809349 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/CellId.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/CellId.java @@ -23,7 +23,7 @@ public class CellId implements Serializable { * @param id >= 0 */ public CellId(int zoomLevel, long id) { - if ((id < -1) || (zoomLevel < 0) || (zoomLevel > 30)) { + if (id < -1 || zoomLevel < 0 || zoomLevel > 30) { LOG.error("zoomLevel or id out of range"); // todo: what about the "-1" cell for garbage data. // todo: also check for id<=2^zoomLevel @@ -34,7 +34,7 @@ public CellId(int zoomLevel, long id) { } public static long getLevelId(int zoomlevel, long id) { - return (((long) zoomlevel) << 56) | id; + return (long) zoomlevel << 56 | id; } public long getLevelId() { @@ -68,14 +68,14 @@ public boolean equals(Object o) { return false; } CellId cellId = (CellId) o; - return (cellId.getId() == this.id) && (cellId.getZoomLevel() == this.zoomLevel); + return cellId.getId() == this.id && cellId.getZoomLevel() == this.zoomLevel; } @Override public int hashCode() { int hash = 7; - hash = (47 * hash) + this.zoomLevel; - hash = (47 * hash) + (int) (this.id ^ (this.id >>> 32)); + hash = 47 * hash + this.zoomLevel; + hash = 47 * hash + (int) (this.id ^ this.id >>> 32); return hash; } diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/OSHDBRole.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/OSHDBRole.java index b6b2e8909..5967cecbb 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/OSHDBRole.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/OSHDBRole.java @@ -20,7 +20,7 @@ public boolean isPresentInKeytables() { @Override public boolean equals(Object o) { - return (o instanceof OSHDBRole) && (((OSHDBRole) o).role == this.role); + return o instanceof OSHDBRole && ((OSHDBRole) o).role == this.role; } @Override diff --git a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/bytearray/ByteArrayWrapper.java b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/bytearray/ByteArrayWrapper.java index 79ff008de..1c42515e3 100644 --- a/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/bytearray/ByteArrayWrapper.java +++ b/oshdb/src/main/java/org/heigit/ohsome/oshdb/util/bytearray/ByteArrayWrapper.java @@ -118,20 +118,20 @@ public int readRawVarint32() throws IOException { if ((x = buffer[pos++]) >= 0) { bufferPos = pos; return x; - } else if ((bufferSize - pos) < 9) { + } else if (bufferSize - pos < 9) { break fastpath; - } else if ((x ^= (buffer[pos++] << 7)) < 0L) { - x ^= (~0L << 7); - } else if ((x ^= (buffer[pos++] << 14)) >= 0L) { - x ^= (~0L << 7) ^ (~0L << 14); - } else if ((x ^= (buffer[pos++] << 21)) < 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21); + } else if ((x ^= buffer[pos++] << 7) < 0L) { + x ^= ~0L << 7; + } else if ((x ^= buffer[pos++] << 14) >= 0L) { + x ^= ~0L << 7 ^ ~0L << 14; + } else if ((x ^= buffer[pos++] << 21) < 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21; } else { int y = buffer[pos++]; x ^= y << 28; - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28); - if ((y < 0) && (buffer[pos++] < 0) && (buffer[pos++] < 0) && (buffer[pos++] < 0) - && (buffer[pos++] < 0) && (buffer[pos++] < 0)) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28; + if (y < 0 && buffer[pos++] < 0 && buffer[pos++] < 0 && buffer[pos++] < 0 + && buffer[pos++] < 0 && buffer[pos++] < 0) { break fastpath; // Will throw malformedVarint() } } @@ -167,31 +167,29 @@ public long readRawVarint64() throws IOException { if ((y = buffer[pos++]) >= 0) { bufferPos = pos; return y; - } else if ((bufferSize - pos) < 9) { + } else if (bufferSize - pos < 9) { break fastpath; - } else if ((x = y ^ (buffer[pos++] << 7)) < 0L) { - x ^= (~0L << 7); - } else if ((x ^= (buffer[pos++] << 14)) >= 0L) { - x ^= (~0L << 7) ^ (~0L << 14); - } else if ((x ^= (buffer[pos++] << 21)) < 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21); - } else if ((x ^= ((long) buffer[pos++] << 28)) >= 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28); - } else if ((x ^= ((long) buffer[pos++] << 35)) < 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28) ^ (~0L << 35); - } else if ((x ^= ((long) buffer[pos++] << 42)) >= 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28) ^ (~0L << 35) ^ (~0L << 42); - } else if ((x ^= ((long) buffer[pos++] << 49)) < 0L) { - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28) ^ (~0L << 35) ^ (~0L << 42) - ^ (~0L << 49); + } else if ((x = y ^ buffer[pos++] << 7) < 0L) { + x ^= ~0L << 7; + } else if ((x ^= buffer[pos++] << 14) >= 0L) { + x ^= ~0L << 7 ^ ~0L << 14; + } else if ((x ^= buffer[pos++] << 21) < 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21; + } else if ((x ^= (long) buffer[pos++] << 28) >= 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28; + } else if ((x ^= (long) buffer[pos++] << 35) < 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28 ^ ~0L << 35; + } else if ((x ^= (long) buffer[pos++] << 42) >= 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28 ^ ~0L << 35 ^ ~0L << 42; + } else if ((x ^= (long) buffer[pos++] << 49) < 0L) { + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28 ^ ~0L << 35 ^ ~0L << 42 + ^ ~0L << 49; } else { - x ^= ((long) buffer[pos++] << 56); - x ^= (~0L << 7) ^ (~0L << 14) ^ (~0L << 21) ^ (~0L << 28) ^ (~0L << 35) ^ (~0L << 42) - ^ (~0L << 49) ^ (~0L << 56); - if (x < 0L) { - if (buffer[pos++] < 0L) { - break fastpath; // Will throw malformedVarint() - } + x ^= (long) buffer[pos++] << 56; + x ^= ~0L << 7 ^ ~0L << 14 ^ ~0L << 21 ^ ~0L << 28 ^ ~0L << 35 ^ ~0L << 42 + ^ ~0L << 49 ^ ~0L << 56; + if (x < 0L && buffer[pos++] < 0L) { + break fastpath; // Will throw malformedVarint() } } bufferPos = pos; @@ -233,7 +231,7 @@ public byte readRawByte() throws IOException { * @return */ public byte[] readByteArray(int size) throws IOException { - if ((size <= (this.bufferSize - this.bufferPos)) && (size > 0)) { + if (size <= this.bufferSize - this.bufferPos && size > 0) { byte[] result = Arrays.copyOfRange(this.buffer, this.bufferPos, this.bufferPos + size); this.bufferPos += size; return result; @@ -251,7 +249,7 @@ public byte[] readByteArray(int size) throws IOException { * @return A signed 32-bit integer. */ public static int decodeZigZag32(final int n) { - return (n >>> 1) ^ -(n & 1); + return n >>> 1 ^ -(n & 1); } /** @@ -264,7 +262,7 @@ public static int decodeZigZag32(final int n) { * @return A signed 64-bit integer. */ public static long decodeZigZag64(final long n) { - return (n >>> 1) ^ -(n & 1); + return n >>> 1 ^ -(n & 1); } static InvalidProtocolBufferException malformedVarint() {