Skip to content

Commit 319c229

Browse files
committed
fix: bug in MinorNodes missing visibily check
1 parent 9dbd443 commit 319c229

2 files changed

Lines changed: 25 additions & 2 deletions

File tree

  • ohsome-contributions/src

ohsome-contributions/src/main/java/org/heigit/ohsome/contributions/minor/MinorNode.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,10 @@ public static void serialize(Output output, List<OSMNode> versions) {
8888
var userName = version.user();
8989
output.writeU32(userId);
9090
output.writeUTF8(userName);
91-
var l = Math.round((version.lon() * 1_0000000L));
91+
var l = version.visible() ? Math.round((version.lon() * 1_0000000L)) : lon;
9292
output.writeS64(l - lon);
9393
lon = l;
94-
l = Math.round(version.lat() * 1_0000000L);
94+
l = version.visible() ? Math.round(version.lat() * 1_0000000L) : lat;
9595
output.writeS64(l - lat);
9696
lat = l;
9797
}

ohsome-contributions/src/test/java/org/heigit/ohsome/contributions/minor/MinorTest.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,29 @@
1414

1515
class MinorTest {
1616

17+
18+
@Test
19+
void testNode() throws IOException {
20+
var builder = MinorNode.newBuilder();
21+
builder.add(new OSMEntity.OSMNode(123, 0, ofEpochSecond(0), 0, 1, "test", true, Map.of(), 8.7244722, 52.3270159));
22+
builder.add(new OSMEntity.OSMNode(123, 1, ofEpochSecond(1), 1, 1, "test", false, Map.of(), 214.7483647, 214.7483647));
23+
24+
try (var output = new Output(4 << 10)) {
25+
builder.serialize(output);
26+
var bytes = output.array();
27+
var osh = MinorNode.deserialize(123L, bytes);
28+
var node1 = osh.get(0);
29+
System.out.println("node1 = " + node1);
30+
31+
var node2 = osh.get(1);
32+
System.out.println("node2 = " + node2);
33+
34+
assertFalse(node2.visible());
35+
36+
}
37+
38+
}
39+
1740
@Test
1841
void testMinorNode() throws IOException {
1942
var builder = MinorNode.newBuilder();

0 commit comments

Comments
 (0)