org.openstreetmap.josm.gui.io
Class DownloadPrimitivesTask

java.lang.Object
  extended by org.openstreetmap.josm.gui.PleaseWaitRunnable
      extended by org.openstreetmap.josm.gui.io.DownloadPrimitivesTask
All Implemented Interfaces:
java.lang.Runnable, ProgressMonitor.CancelListener

public class DownloadPrimitivesTask
extends PleaseWaitRunnable


Field Summary
private  boolean canceled
           
private  DataSet ds
           
private  boolean fullRelation
           
private  java.util.List<PrimitiveId> ids
           
private  java.lang.Exception lastException
           
private  OsmDataLayer layer
           
private  java.util.Set<PrimitiveId> missingPrimitives
           
private  MultiFetchServerObjectReader multiObjectReader
           
private  OsmServerObjectReader objectReader
           
 
Fields inherited from class org.openstreetmap.josm.gui.PleaseWaitRunnable
progressMonitor
 
Constructor Summary
DownloadPrimitivesTask(OsmDataLayer layer, java.util.List<PrimitiveId> ids, boolean fullRelation)
          Creates the task
 
Method Summary
protected  void cancel()
          User pressed cancel button.
protected  void finish()
          Finish up the data work.
 java.util.Set<PrimitiveId> getMissingPrimitives()
          replies the set of ids of all primitives for which a fetch request to the server was submitted but which are not available from the server (the server replied a return code of 404)
protected  void initMultiFetchReader(MultiFetchServerObjectReader reader)
           
protected  void realRun()
          Called in the worker thread to do the actual work.
 
Methods inherited from class org.openstreetmap.josm.gui.PleaseWaitRunnable
afterFinish, canRunInBackground, getProgressMonitor, operationCanceled, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ds

private DataSet ds

canceled

private boolean canceled

lastException

private java.lang.Exception lastException

ids

private java.util.List<PrimitiveId> ids

missingPrimitives

private java.util.Set<PrimitiveId> missingPrimitives

layer

private OsmDataLayer layer

fullRelation

private boolean fullRelation

multiObjectReader

private MultiFetchServerObjectReader multiObjectReader

objectReader

private OsmServerObjectReader objectReader
Constructor Detail

DownloadPrimitivesTask

public DownloadPrimitivesTask(OsmDataLayer layer,
                              java.util.List<PrimitiveId> ids,
                              boolean fullRelation)
                       throws java.lang.IllegalArgumentException
Creates the task

Parameters:
layer - the layer in which primitives are updated. Must not be null.
toUpdate - a collection of primitives to update from the server. Set to the empty collection if null.
fullRelation - true if a full download is required, i.e., a download including the immediate children of a relation.
Throws:
java.lang.IllegalArgumentException - thrown if layer is null.
Method Detail

cancel

protected void cancel()
Description copied from class: PleaseWaitRunnable
User pressed cancel button.

Specified by:
cancel in class PleaseWaitRunnable

finish

protected void finish()
Description copied from class: PleaseWaitRunnable
Finish up the data work. Is guaranteed to be called if realRun is called. Finish is called in the gui thread just after the dialog disappeared.

Specified by:
finish in class PleaseWaitRunnable

initMultiFetchReader

protected void initMultiFetchReader(MultiFetchServerObjectReader reader)

realRun

protected void realRun()
                throws org.xml.sax.SAXException,
                       java.io.IOException,
                       OsmTransferException
Description copied from class: PleaseWaitRunnable
Called in the worker thread to do the actual work. When any of the exception is thrown, a message box will be displayed and closeDialog is called. finish() is called in any case.

Specified by:
realRun in class PleaseWaitRunnable
Throws:
org.xml.sax.SAXException
java.io.IOException
OsmTransferException

getMissingPrimitives

public java.util.Set<PrimitiveId> getMissingPrimitives()
replies the set of ids of all primitives for which a fetch request to the server was submitted but which are not available from the server (the server replied a return code of 404)

Returns:
the set of ids of missing primitives


JOSM