|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.bbn.openmap.util.cacheHandler.CacheHandler com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory com.bbn.openmap.dataAccess.mapTile.ServerMapTileFactory
public class ServerMapTileFactory
The ServerMapTileFactory is an extension to the StandardMapTileFactory that can go to a http server to retrieve image tiles. You provide it with a root URL that points to the parent directory of the tiles, and then this component will add on the zoom/x/y.extension to that directory path to make the call for a specific tile. Please make sure you have the permission of the server's owner before hammering away at retrieving tiles from it. This component can be configured using properties:
# Inherited from StandardMapTileFactory rootDir=the URL to the parent directory of the tiles on a server. The factory will construct specific file paths that are appended to this value. fileExt=the file extension to append to the tile names, should have a period. cacheSize=the number of mapTiles the factory should hold on to. The default is 100. # Additional properties localCacheRootDir=if specified, the factory will store tiles locally at this root directory. This directory is checked before going to the server, too.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory |
---|
StandardMapTileFactory.TilePathBuilder |
Field Summary | |
---|---|
static java.lang.String |
LOCAL_CACHE_ROOT_DIR_PROPERTY
|
protected java.lang.String |
localCacheDir
|
Fields inherited from class com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory |
---|
CACHE_SIZE_PROPERTY, EMPTY_TILE_HANDLER_PROPERTY, emptyTileHandler, FILE_EXT_PROPERTY, fileExt, lastProj, logger, mapTileLogger, mapTileRequester, mtcTransform, MTCTRANSFORM_PROPERTY, prefix, ROOT_DIR_PATH_PROPERTY, ROOT_DIR_PROPERTY, rootDir, rootDirProperty, TILE_IMAGE_PREPARER_PROPERTY, TILE_PROPERTIES, tileImagePreparer, verbose, ZOOM_LEVEL_INFO_PROPERTY, ZOOM_LEVEL_TILE_SIZE_PROPERTY, zoomLevelInfo, zoomLevelTileSize |
Fields inherited from class com.bbn.openmap.util.cacheHandler.CacheHandler |
---|
DEFAULT_MAX_CACHE_SIZE, logicalClock, objs |
Fields inherited from interface com.bbn.openmap.PropertyConsumer |
---|
EditorProperty, initPropertiesProperty, LabelEditorProperty, ScopedEditorProperty |
Constructor Summary | |
---|---|
ServerMapTileFactory()
|
|
ServerMapTileFactory(java.lang.String rootDir)
|
Method Summary | |
---|---|
protected java.lang.String |
buildCacheKey(int x,
int y,
int z,
java.lang.String fileExt)
Creates a unique cache key for this tile based on zoom, x, y. |
java.lang.String |
buildLocalFilePath(int x,
int y,
int z,
java.lang.String fileExt)
Acts the same as the buildFilePath method, but works for a local directory specified in the properties. |
java.lang.Object |
getFromCache(java.lang.Object key,
int x,
int y,
int zoomLevel)
An auxiliary call to retrieve something from the cache, modified to allow load method to do some projection calculations to initialize tile parameters. |
byte[] |
getImageBytes(java.lang.String imagePath,
java.lang.String localFilePath)
Tries to get the image bytes from imagePath URL. |
java.util.Properties |
getProperties(java.util.Properties getList)
Method to fill in a Properties object, reflecting the current values of the PropertyConsumer. |
java.util.Properties |
getPropertyInfo(java.util.Properties list)
Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. |
CacheObject |
load(java.lang.Object key,
int x,
int y,
int zoomLevel,
Projection proj)
Checks the local directory first for a locally cached version of the tile before going off to the server. |
void |
reset()
Tell the factory to dump the cache. |
void |
setProperties(java.lang.String prefix,
java.util.Properties setList)
Method to set the properties in the PropertyConsumer. |
Methods inherited from class com.bbn.openmap.util.cacheHandler.CacheHandler |
---|
clear, get, getCacheSize, listIterator, replaceLeastUsed, resetCache, resetCache, searchCache |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.bbn.openmap.dataAccess.mapTile.MapTileFactory |
---|
getEmptyTileHandler, getTiles, getTiles, getTiles, setMapTileRequester |
Methods inherited from interface com.bbn.openmap.PropertyConsumer |
---|
getPropertyPrefix, setProperties, setPropertyPrefix |
Field Detail |
---|
public static final java.lang.String LOCAL_CACHE_ROOT_DIR_PROPERTY
protected java.lang.String localCacheDir
Constructor Detail |
---|
public ServerMapTileFactory()
public ServerMapTileFactory(java.lang.String rootDir)
Method Detail |
---|
public java.lang.Object getFromCache(java.lang.Object key, int x, int y, int zoomLevel)
getFromCache
in class StandardMapTileFactory
key
- cache key, usually string of location of a tilex
- uv x location of tiley
- uv y location of tilezoomLevel
- zoom level of tile
public CacheObject load(java.lang.Object key, int x, int y, int zoomLevel, Projection proj)
load
in class StandardMapTileFactory
key
- cache keyx
- uv x coordinatey
- uv y coordinatezoomLevel
- zoom level for tile to loadproj
- passed solely to enable checking if the projection of the
tiles matches the rendered projection.
public byte[] getImageBytes(java.lang.String imagePath, java.lang.String localFilePath)
imagePath
- the source URL image path.localFilePath
- the caching local file path
public java.lang.String buildLocalFilePath(int x, int y, int z, java.lang.String fileExt)
x
- tile coordinatey
- tile coordinatez
- zoom levelfileExt
- file extension for image tiles.
protected java.lang.String buildCacheKey(int x, int y, int z, java.lang.String fileExt)
buildCacheKey
in class StandardMapTileFactory
x
- tile coord.y
- tile coord.z
- zoomLevel.fileExt
- file extension.
public java.util.Properties getProperties(java.util.Properties getList)
PropertyConsumer
getProperties
in interface PropertyConsumer
getProperties
in class StandardMapTileFactory
getList
- a Properties object to load the PropertyConsumer
properties into. If getList equals null, then a new
Properties object should be created.
public java.util.Properties getPropertyInfo(java.util.Properties list)
PropertyConsumer
getPropertyInfo
in interface PropertyConsumer
getPropertyInfo
in class StandardMapTileFactory
list
- a Properties object to load the PropertyConsumer
properties into. If getList equals null, then a new
Properties object should be created.
public void setProperties(java.lang.String prefix, java.util.Properties setList)
PropertyConsumer
setProperties
in interface PropertyConsumer
setProperties
in class StandardMapTileFactory
prefix
- a String used by the PropertyConsumer to prepend
to each property value it wants to look up -
setList.getProperty(prefix.propertyKey). If the prefix
had already been set, then the prefix passed in should
replace that previous value.setList
- a Properties object that the PropertyConsumer
can use to retrieve expected properties it can use for
configuration.public void reset()
reset
in interface MapTileFactory
reset
in class StandardMapTileFactory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |