com.bbn.openmap.layer.dted
Class DTEDCoverageLayer

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--com.bbn.openmap.Layer
                          |
                          +--com.bbn.openmap.layer.OMGraphicHandlerLayer
                                |
                                +--com.bbn.openmap.layer.dted.DTEDCoverageLayer
All Implemented Interfaces:
java.awt.event.ActionListener, java.beans.beancontext.BeanContextChild, java.beans.beancontext.BeanContextMembershipListener, java.util.EventListener, GestureResponsePolicy, java.awt.image.ImageObserver, java.awt.MenuContainer, ProjectionListener, ProjectionPainter, PropertyConsumer, java.io.Serializable

public class DTEDCoverageLayer
extends OMGraphicHandlerLayer
implements java.awt.event.ActionListener

This is a Layer that provides coverage information on the DTED data. The layer really uses the properties passed in to it to determine which directories should be scanned for the data, and where to locate a coverage file. If a coverage file is not available, the layer will take the time to scan the directories and create one, placing it in the desired location (as specified in the properties). There is a palette for this layer, that lets you turn off the coverage for different levels of DTED. Right now, only level 0, 1 and 2 are handled.

 
  The properties for this file are:
  
  # Java DTED properties
  dtedcov.class=com.bbn.openmap.layer.dted.DTEDCoverageLayer
  dtedcov.prettyName=DTED Coverage
  # This property should reflect the paths to the RPF directories
  #jdted.paths=/tmp/data/dted
  dtedcov.paths=/usr/local/matt/data/dted /cdrom/cdrom0/dted
  #DTED Level 2 data!
  dtedcov.level2.paths=/net/blatz/u5/DTEDLV2
  # Number between 0-255: 0 is transparent, 255 is opaque
  dtedcov.opaque=255
  dtedcov.coverageFile=/usr/local/matt/data/dted/coverage.dat
  # option ----
  #dtedcov.coverageURL=http://location.of.coverage.file
  #Default is true, don't need this entry if you like it...
  dtedcov.level0.showcov=true
  #Default colors don't need this entry
  dtedcov.level0.color=CE4F3F
  #Default is true, don't need this entry if you like it...
  dtedcov.level1.showcov=true
  #Default colors don't need this entry
  dtedcov.level1.color=339159
  #Default is true, don't need this entry if you like it...
  dtedcov.level2.showcov=true
  #Default colors don't need this entry
  dtedcov.level2.color=0C75D3
  
 

See Also:
Serialized Form

Field Summary
protected  java.lang.String coverageFile
           
static java.lang.String CoverageFileProperty
          The file to read/write coverage summary.
protected  DTEDCoverageManager coverageManager
           
protected  java.lang.String coverageURL
          Location of coverage summary file, if supplied as a URL.
static java.lang.String CoverageURLProperty
          A URL to read coverage summary.
static java.lang.String DTED2PathsProperty
          The property describing the locations of level 2 data.
static java.lang.String DTEDPathsProperty
          The property describing the locations of level 0 and 1 data.
static java.lang.String FillProperty
          Property to use to fill rectangles.
protected  boolean fillRects
          Flag to fill the coverage rectangles.
protected  java.awt.Color level0Color
          The color to outline the shapes for level 0.
static java.lang.String Level0ColorProperty
          Property to use to change the color for coverage of level 0 data.
protected  java.awt.Color level1Color
          The color to outline the shapes for level 1.
static java.lang.String Level1ColorProperty
          Property to use to change the color for coverage of level 1 data.
protected  java.awt.Color level2Color
          The color to outline the shapes for level 2.
static java.lang.String Level2ColorProperty
          Property to use to change the color for coverage of level 2 data.
protected  OMGraphicList[] omGraphics
          The graphic list of objects to draw.
protected  int opaqueness
          A setting for how transparent to make the images.
static java.lang.String OpaquenessProperty
          Property to use for filled rectangles (when java supports it).
protected  java.lang.String[] paths
          The paths to the DTED directories, telling where the data is.
protected  java.lang.String[] paths2
          The paths to the DTED Level 2 directories, telling where the data is.
protected  boolean showDTEDLevel0
          Flag to tell the cache to return the coverage for level 0 dted.
protected  boolean showDTEDLevel1
          Flag to tell the cache to return the coverage for level 1 dted.
protected  boolean showDTEDLevel2
          Flag to tell the cache to return the coverage for level 0 dted.
static java.lang.String ShowLevel0Property
          Property setting to show level 0 data on startup.
static java.lang.String ShowLevel1Property
          Property setting to show level 1 data on startup.
static java.lang.String ShowLevel2Property
          Property setting to show level 2 data on startup.
 
Fields inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
cancelled, CANCELLED_LOCK, consumeEvents, ConsumeEventsProperty, filter, layerWorker, LAYERWORKER_LOCK, mouseEventInterpreter, mouseModeIDs, MouseModesProperty, projectionChangePolicy, ProjectionChangePolicyProperty, renderPolicy, RenderPolicyProperty, selectedList
 
Fields inherited from class com.bbn.openmap.Layer
addAsBackground, AddAsBackgroundProperty, addToBeanContext, AddToBeanContextProperty, autoPalette, AutoPaletteProperty, beanContextChildSupport, DisplayPaletteCmd, DisplayPropertiesCmd, doHack, HidePaletteCmd, i18n, IDListeners, localHackList, lsListeners, palette, paletteListener, PrettyNameProperty, propertyPrefix, RedrawCmd, removable, RemovableProperty, RemoveableProperty, SWING_PACKAGE, windowSupport
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface com.bbn.openmap.PropertyConsumer
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DTEDCoverageLayer()
          The default constructor for the Layer.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          The Action Listener method, that reacts to the palette widgets actions.
 void checkVisibilities()
           
 OMGraphicList[] getGraphicLists()
          Retrieves the current graphics lists.
 java.awt.Component getGUI()
          Provides the palette widgets to control the options of showing maps, or attribute text.
 void paint(java.awt.Graphics g)
          Paints the layer.
 OMGraphicList prepare()
          Prepares the graphics for the layer.
protected  void setDefaultValues()
          Method that sets all the variables to the default values.
 void setGraphicLists(OMGraphicList[] aList)
          Sets the current graphics lists to the given list.
 void setProperties(java.lang.String prefix, java.util.Properties properties)
          Set all the DTED properties from a properties object.
 
Methods inherited from class com.bbn.openmap.layer.OMGraphicHandlerLayer
canSetList, copy, cut, deselect, doAction, doPrepare, filter, filter, filter, getConsumeEvents, getFilter, getInfoText, getItemsForMapMenu, getItemsForOMGraphicMenu, getLayerWorker, getList, getMapMouseListener, getMouseEventInterpreter, getMouseModeIDsForEvents, getProjectionChangePolicy, getProperties, getPropertyInfo, getRenderPolicy, getSelected, getToolTipTextFor, highlight, interrupt, isCancelled, isHighlightable, isSelectable, isWorking, leftClick, mouseOver, paste, projectionChanged, receivesMapEvents, renderDataForProjection, resetFiltering, select, setCancelled, setConsumeEvents, setFilter, setLayerWorker, setList, setMouseEventInterpreter, setMouseModeIDsForEvents, setProjectionChangePolicy, setRenderPolicy, supportsSQL, unhighlight, workerComplete
 
Methods inherited from class com.bbn.openmap.Layer
addComponentListener, added, addInfoDisplayListener, addLayerStatusListener, addMouseListener, addVetoableChangeListener, childrenAdded, childrenRemoved, clearListeners, connectToBeanContext, createWindowSupport, finalize, findAndInit, findAndInit, findAndUndo, fireHideToolTip, fireHideToolTip, firePaletteEvent, fireRequestBrowserContent, fireRequestBrowserContent, fireRequestCursor, fireRequestInfoLine, fireRequestInfoLine, fireRequestInfoLine, fireRequestMessage, fireRequestMessage, fireRequestToolTip, fireRequestToolTip, fireRequestToolTip, fireRequestToolTip, fireRequestURL, fireRequestURL, fireStatusUpdate, fireStatusUpdate, fireVetoableChange, getAddAsBackground, getAddToBeanContext, getBeanContext, getPackage, getPalette, getProjection, getPropertyPrefix, getWindowSupport, hidePalette, isRemovable, isRemoveable, notifyHideHack, removeComponentListener, removeConfirmed, removed, removeInfoDisplayListener, removeLayerStatusListener, removeVetoableChangeListener, repaint, resetPalette, setAddAsBackground, setAddToBeanContext, setBeanContext, setName, setPaletteVisible, setProjection, setProjection, setProperties, setPropertyPrefix, setRemovable, setRemoveable, setVisible, setWindowSupport, showPalette
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, removePropertyChangeListener
 

Field Detail

omGraphics

protected OMGraphicList[] omGraphics
The graphic list of objects to draw.


paths

protected java.lang.String[] paths
The paths to the DTED directories, telling where the data is.


paths2

protected java.lang.String[] paths2
The paths to the DTED Level 2 directories, telling where the data is.


showDTEDLevel0

protected boolean showDTEDLevel0
Flag to tell the cache to return the coverage for level 0 dted.


showDTEDLevel1

protected boolean showDTEDLevel1
Flag to tell the cache to return the coverage for level 1 dted.


showDTEDLevel2

protected boolean showDTEDLevel2
Flag to tell the cache to return the coverage for level 0 dted.


level0Color

protected java.awt.Color level0Color
The color to outline the shapes for level 0.


level1Color

protected java.awt.Color level1Color
The color to outline the shapes for level 1.


level2Color

protected java.awt.Color level2Color
The color to outline the shapes for level 2.


opaqueness

protected int opaqueness
A setting for how transparent to make the images. The default is 255, which is totally opaque.


fillRects

protected boolean fillRects
Flag to fill the coverage rectangles.


coverageFile

protected java.lang.String coverageFile

coverageURL

protected java.lang.String coverageURL
Location of coverage summary file, if supplied as a URL. If it doesn't exists, a coverage file will be used instead.


coverageManager

protected DTEDCoverageManager coverageManager

DTEDPathsProperty

public static final java.lang.String DTEDPathsProperty
The property describing the locations of level 0 and 1 data.

See Also:
Constant Field Values

DTED2PathsProperty

public static final java.lang.String DTED2PathsProperty
The property describing the locations of level 2 data.

See Also:
Constant Field Values

ShowLevel0Property

public static final java.lang.String ShowLevel0Property
Property setting to show level 0 data on startup.

See Also:
Constant Field Values

Level0ColorProperty

public static final java.lang.String Level0ColorProperty
Property to use to change the color for coverage of level 0 data.

See Also:
Constant Field Values

ShowLevel1Property

public static final java.lang.String ShowLevel1Property
Property setting to show level 1 data on startup.

See Also:
Constant Field Values

Level1ColorProperty

public static final java.lang.String Level1ColorProperty
Property to use to change the color for coverage of level 1 data.

See Also:
Constant Field Values

ShowLevel2Property

public static final java.lang.String ShowLevel2Property
Property setting to show level 2 data on startup.

See Also:
Constant Field Values

Level2ColorProperty

public static final java.lang.String Level2ColorProperty
Property to use to change the color for coverage of level 2 data.

See Also:
Constant Field Values

OpaquenessProperty

public static final java.lang.String OpaquenessProperty
Property to use for filled rectangles (when java supports it).

See Also:
Constant Field Values

FillProperty

public static final java.lang.String FillProperty
Property to use to fill rectangles.

See Also:
Constant Field Values

CoverageFileProperty

public static final java.lang.String CoverageFileProperty
The file to read/write coverage summary. If it doesn't exist here, it will be created and placed here.

See Also:
Constant Field Values

CoverageURLProperty

public static final java.lang.String CoverageURLProperty
A URL to read coverage summary. If it doesn't exist, the coverage file will be tried.

See Also:
Constant Field Values
Constructor Detail

DTEDCoverageLayer

public DTEDCoverageLayer()
The default constructor for the Layer. All of the attributes are set to their default values.

Method Detail

setDefaultValues

protected void setDefaultValues()
Method that sets all the variables to the default values.


setProperties

public void setProperties(java.lang.String prefix,
                          java.util.Properties properties)
Set all the DTED properties from a properties object.

Specified by:
setProperties in interface PropertyConsumer
Overrides:
setProperties in class OMGraphicHandlerLayer
Parameters:
prefix - string prefix used in the properties file for this layer.
properties - the properties set in the properties file.

setGraphicLists

public void setGraphicLists(OMGraphicList[] aList)
Sets the current graphics lists to the given list.

Parameters:
aList - a list of OMGraphics

getGraphicLists

public OMGraphicList[] getGraphicLists()
Retrieves the current graphics lists.


prepare

public OMGraphicList prepare()
Prepares the graphics for the layer. This is where the getRectangle() method call is made on the dtedcov.

Occasionally it is necessary to abort a prepare call. When this happens, the map will set the cancel bit in the LayerThread, (the thread that is running the prepare). If this Layer needs to do any cleanups during the abort, it should do so, but return out of the prepare asap.

Overrides:
prepare in class OMGraphicHandlerLayer

checkVisibilities

public void checkVisibilities()

paint

public void paint(java.awt.Graphics g)
Paints the layer.

Overrides:
paint in class OMGraphicHandlerLayer
Parameters:
g - the Graphics context for painting

getGUI

public java.awt.Component getGUI()
Provides the palette widgets to control the options of showing maps, or attribute text.

Overrides:
getGUI in class Layer
Returns:
Component object representing the palette widgets.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
The Action Listener method, that reacts to the palette widgets actions.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class Layer


Copyright (C) BBNT Solutions LLC; See http://openmap.bbn.com/ for details