NASA World Wind

gov.nasa.worldwindx.examples.util
Class BalloonController.DocumentRetrievalTask

java.lang.Object
  extended by java.util.TimerTask
      extended by gov.nasa.worldwindx.examples.util.BalloonController.DocumentRetrievalTask
All Implemented Interfaces:
Runnable
Enclosing class:
BalloonController

protected class BalloonController.DocumentRetrievalTask
extends TimerTask

A TimerTask that will request a resource from the FileStore until it becomes available, or until a timeout is exceeded. When the task finishes it will trigger a callback on the Event Dispatch Thread (EDT) to either onDocumentLoaded or onDocumentFailed.

This task is designed to be repeated periodically. The task will cancel itself when the document becomes available, or the timeout is exceeded.


Field Summary
protected  KMLRoot context
          The document that contained the link this document.
protected  String docUrl
          URL of the KML document to load.
protected  String featureRef
          Reference to a feature in the remote document, with an action (for example, "myFeature;flyto").
protected  long start
          Time that the task started, used to evaluate the timeout.
protected  long timeout
          Task timeout.
 
Constructor Summary
BalloonController.DocumentRetrievalTask(String url, KMLRoot context, String featureRef, long timeout)
          Create a new retrieval task.
 
Method Summary
 void run()
          Request the document from the FileStore.
 
Methods inherited from class java.util.TimerTask
cancel, scheduledExecutionTime
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

context

protected KMLRoot context
The document that contained the link this document.


docUrl

protected String docUrl
URL of the KML document to load.


featureRef

protected String featureRef
Reference to a feature in the remote document, with an action (for example, "myFeature;flyto"). The action will be carried out when the document becomes available.


start

protected long start
Time that the task started, used to evaluate the timeout.


timeout

protected long timeout
Task timeout. If the document has not been loaded after this many milliseconds, the task will cancel itself and report an error.

Constructor Detail

BalloonController.DocumentRetrievalTask

public BalloonController.DocumentRetrievalTask(String url,
                                               KMLRoot context,
                                               String featureRef,
                                               long timeout)
Create a new retrieval task.

Parameters:
url - URL of document to retrieve.
context - Context of the link to the document. May be null.
featureRef - Reference to a feature in the remote document, with an action to perform on the feature (for example, "myFeature;flyto"). The action will be carried out when the document becomes available.
timeout - Timeout for this task in milliseconds. The task will fail if the document has not been downloaded in this many milliseconds.
Method Detail

run

public void run()
Request the document from the FileStore. If the document is available, parse it and schedule a callback on the EDT to BalloonController.onDocumentLoaded(String, gov.nasa.worldwind.ogc.kml.KMLRoot, String). If an exception occurs, or the timeout is exceeded, schedule a callback on the EDT to BalloonController.onDocumentFailed(String, Exception)

Specified by:
run in interface Runnable
Specified by:
run in class TimerTask

NASA World Wind