public class OsmServerWriter extends Object
Modifier and Type | Field and Description |
---|---|
private OsmApi |
api |
private boolean |
canceled |
private static int |
MSECS_PER_MINUTE |
private static int |
MSECS_PER_SECOND |
private static List<OsmServerWritePostprocessor> |
postprocessors |
private Collection<OsmPrimitive> |
processed
This list contains all successfully processed objects.
|
private static int |
SECONDS_PER_MINUTE |
private long |
uploadStartTime |
Constructor and Description |
---|
OsmServerWriter() |
Modifier and Type | Method and Description |
---|---|
void |
cancel() |
void |
executePostprocessors(ProgressMonitor pm)
Calls all registered upload postprocessors.
|
Collection<OsmPrimitive> |
getProcessedPrimitives()
Replies the collection of successfully processed primitives
|
(package private) void |
makeApiRequest(OsmPrimitive osm,
ProgressMonitor progressMonitor) |
static void |
registerPostprocessor(OsmServerWritePostprocessor pp) |
String |
timeLeft(int progress,
int list_size) |
static void |
unregisterPostprocessor(OsmServerWritePostprocessor pp) |
protected void |
uploadChangesAsDiffUpload(Collection<? extends OsmPrimitive> primitives,
ProgressMonitor progressMonitor)
Upload all changes in one diff upload
|
protected void |
uploadChangesInChunks(Collection<? extends OsmPrimitive> primitives,
ProgressMonitor progressMonitor,
int chunkSize)
Upload all changes in one diff upload
|
protected void |
uploadChangesIndividually(Collection<? extends OsmPrimitive> primitives,
ProgressMonitor progressMonitor)
Uploads the changes individually.
|
void |
uploadOsm(UploadStrategySpecification strategy,
Collection<? extends OsmPrimitive> primitives,
Changeset changeset,
ProgressMonitor monitor)
Send the dataset to the server.
|
private Collection<OsmPrimitive> processed
private static volatile List<OsmServerWritePostprocessor> postprocessors
private boolean canceled
private static final int MSECS_PER_SECOND
private static final int SECONDS_PER_MINUTE
private static final int MSECS_PER_MINUTE
private long uploadStartTime
public OsmServerWriter()
public static void registerPostprocessor(OsmServerWritePostprocessor pp)
public static void unregisterPostprocessor(OsmServerWritePostprocessor pp)
protected void uploadChangesIndividually(Collection<? extends OsmPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException
primitives
- the collection of primitives to uploadprogressMonitor
- the progress monitorOsmTransferException
- if an exception occursprotected void uploadChangesAsDiffUpload(Collection<? extends OsmPrimitive> primitives, ProgressMonitor progressMonitor) throws OsmTransferException
primitives
- the collection of primitives to uploadprogressMonitor
- the progress monitorOsmTransferException
- if an exception occursprotected void uploadChangesInChunks(Collection<? extends OsmPrimitive> primitives, ProgressMonitor progressMonitor, int chunkSize) throws OsmTransferException, IllegalArgumentException
primitives
- the collection of primitives to uploadprogressMonitor
- the progress monitorchunkSize
- the size of the individual upload chunks. > 0 required.IllegalArgumentException
- if chunkSize <= 0OsmTransferException
- if an exception occurspublic void uploadOsm(UploadStrategySpecification strategy, Collection<? extends OsmPrimitive> primitives, Changeset changeset, ProgressMonitor monitor) throws OsmTransferException
strategy
- the upload strategy. Must not be null.primitives
- list of objects to sendchangeset
- the changeset the data is uploaded to. Must not be null.monitor
- the progress monitor. If null, assumes NullProgressMonitor.INSTANCE
IllegalArgumentException
- if changeset is nullIllegalArgumentException
- if strategy is nullOsmTransferException
- if something goes wrongvoid makeApiRequest(OsmPrimitive osm, ProgressMonitor progressMonitor) throws OsmTransferException
OsmTransferException
public void cancel()
public Collection<OsmPrimitive> getProcessedPrimitives()
public void executePostprocessors(ProgressMonitor pm)
pm
- progress monitor