Hi all,
With the latest Git revision (43089ed), I get an OsmosisRuntimeException
when I use --log-progress followed by --buffer. For example:
osmosis -v \
--rb massachusetts.osm.pbf --sort \
--rb connecticut.osm.pbf --sort \
--merge --log-progress --buffer --wb _combined.osm.pbf
...
org.openstreetmap.osmosis.core.OsmosisRuntimeException: initialize has
not been called
at
org.openstreetmap.osmosis.core.store.DataPostbox.put(DataPostbox.java:288)
at
org.openstreetmap.osmosis.core.buffer.v0_6.EntityBuffer.process(EntityBuffer.java:48)
at
org.openstreetmap.osmosis.core.progress.v0_6.EntityProgressLogger.process(EntityProgressLogger.java:70)
at
org.openstreetmap.osmosis.core.sort.v0_6.EntitySorter.complete(EntitySorter.java:71)
at
crosby.binary.osmosis.OsmosisBinaryParser.complete(OsmosisBinaryParser.java:35)
at
crosby.binary.file.BlockInputStream.process(BlockInputStream.java:37)
at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:45)
at java.lang.Thread.run(Thread.java:679)
If I remove the --log-progress argument, it works as expected.
I chased this down to a missing call to sink.initialize() in
EntityProgressLogger.initialize(). Attached is a patch that I believe
fixes this bug.
-Richard
>From 33cabe82f3a55dba2f3f5942cbe021177a8db493 Mon Sep 17 00:00:00 2001
From: Richard Hansen <[email protected]>
Date: Sat, 14 Jan 2012 15:51:33 -0500
Subject: [PATCH] Add missing call to sink.initialize() in
EntityProgressLogger
Without this change, when --log-progress is followed by --buffer, an
OsmosisRuntimeException is thrown by DataPostbox.put() complaining
that DataPostbox.initialize() has not been called:
osmosis -v \
--rb massachusetts.osm.pbf --sort \
--rb connecticut.osm.pbf --sort \
--merge --log-progress --buffer --wb _combined.osm.pbf
...
org.openstreetmap.osmosis.core.OsmosisRuntimeException: initialize has not been called
at org.openstreetmap.osmosis.core.store.DataPostbox.put(DataPostbox.java:288)
at org.openstreetmap.osmosis.core.buffer.v0_6.EntityBuffer.process(EntityBuffer.java:48)
at org.openstreetmap.osmosis.core.progress.v0_6.EntityProgressLogger.process(EntityProgressLogger.java:70)
at org.openstreetmap.osmosis.core.sort.v0_6.EntitySorter.complete(EntitySorter.java:71)
at crosby.binary.osmosis.OsmosisBinaryParser.complete(OsmosisBinaryParser.java:35)
at crosby.binary.file.BlockInputStream.process(BlockInputStream.java:37)
at crosby.binary.osmosis.OsmosisReader.run(OsmosisReader.java:45)
at java.lang.Thread.run(Thread.java:679)
---
.../core/progress/v0_6/EntityProgressLogger.java | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/core/src/main/java/org/openstreetmap/osmosis/core/progress/v0_6/EntityProgressLogger.java b/core/src/main/java/org/openstreetmap/osmosis/core/progress/v0_6/EntityProgressLogger.java
index a6c4de1..b531e14 100644
--- a/core/src/main/java/org/openstreetmap/osmosis/core/progress/v0_6/EntityProgressLogger.java
+++ b/core/src/main/java/org/openstreetmap/osmosis/core/progress/v0_6/EntityProgressLogger.java
@@ -49,6 +49,7 @@ public class EntityProgressLogger implements SinkSource {
*/
public void initialize(Map<String, Object> metaData) {
progressTracker.initialize();
+ sink.initialize(metaData);
}
--
1.7.8.2
_______________________________________________
osmosis-dev mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/osmosis-dev