TileMillMapTileFactory (OpenMap API)
Date: 2016-12-09

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.bbn.openmap.dataAccess.mapTile
Class TileMillMapTileFactory

    java.lang.Object
      com.bbn.openmap.util.cacheHandler.CacheHandler
          com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory
              com.bbn.openmap.dataAccess.mapTile.TileMillMapTileFactory

All Implemented Interfaces:
  MapTileFactory, PropertyConsumer

    public class TileMillMapTileFactory

extends StandardMapTileFactory
implements MapTileFactory, PropertyConsumer

The TileMillMapTileFactory is an extension to the StandardMapTileFactory that can read image tiles stored in a mbtiles file, which is the export format from the TileMill application. The mbtiles file is a sqlite database, so this factory requires the sqlitejdbc package be used to read those data files. You can find that package at http://www.zentus.com/sqlitejdbc. This component can be configured using properties:

     # Inherited from StandardMapTileFactory
     rootDir=the jdbc driver/path string to use for the database file, "jdbc:sqlite:path to file"
     cacheSize=the number of mapTiles the factory should hold on to. The default is 100.

     #optional:
     # The class used to test for the existance of jdbc components.  Assumes sqlitejdbc, but the code fetching the tiles
     # is pretty standard SQL - so you should be able to use any jdbc driver library.
     testClass=org.sqlite.JDBC

Author:
  dietrick

Nested Class Summary

Nested classes/interfaces inherited from class com.bbn.openmap.dataAccess.mapTile.StandardMapTileFactory
`StandardMapTileFactory.TilePathBuilder`

Field Summary
`static java.lang.String` | `DEFAULT_TEST_CLASS`
`static java.lang.String` | `TEST_CLASS_PROPERTY`
`protected java.lang.String` | `testClass` Test class to use for existence of JDBC drivers.

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
`TileMillMapTileFactory()`
`TileMillMapTileFactory(java.lang.String rootDir)`

Method Summary
`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)` Fetches a new tile from the database.
`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.dataAccess.mapTile.StandardMapTileFactory
`buildCacheKey, buildFilePath, configureFromProperties, createOMGraphicFromBufferedImage, get, getEmptyTile, getEmptyTileHandler, getFileExt, getFromCache, getInitPropertiesOrder, getMapTileRequester, getMtcTransform, getPropertyPrefix, getRootDir, getTileImagePreparer, getTileMatchingProjectionType, getTileNotMatchingProjectionType, getTilePathBuilder, getTiles, getTiles, getTiles, getTiles, getZoomLevelInfo, load, preprocessImage, reset, setEmptyTileHandler, setFileExt, setMapTileRequester, setMtcTransform, setProperties, setPropertyPrefix, setRootDir, setTileImagePreparer, setTilePathBuilder, setZoomLevelInfo`

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, reset, setMapTileRequester`

Methods inherited from interface com.bbn.openmap.PropertyConsumer
`getPropertyPrefix, setProperties, setPropertyPrefix`

Field Detail

### DEFAULT_TEST_CLASS

    public static final java.lang.String DEFAULT_TEST_CLASS

See Also:
  Constant Field Values

### TEST_CLASS_PROPERTY

    public static final java.lang.String TEST_CLASS_PROPERTY

See Also:
  Constant Field Values

### testClass

    protected java.lang.String testClass

  Test class to use for existence of JDBC drivers.

Constructor Detail

### TileMillMapTileFactory

    public TileMillMapTileFactory()

### TileMillMapTileFactory

    public TileMillMapTileFactory(java.lang.String rootDir)

Method Detail

### load

    public CacheObject load(java.lang.Object key,
                            int x,
                            int y,
                            int zoomLevel,
                            Projection proj)

  Fetches a new tile from the database.

  Overrides:
    `load` in class `StandardMapTileFactory`
  Parameters:
    `key` - cache key
    `x` - uv x coordinate
    `y` - uv y coordinate
    `zoomLevel` - zoom level for tile to load
    `proj` - passed solely to enable checking if the projection of the tiles matches the rendered projection.
  Returns:
    CacheObject returned from cache, null if not found

### getProperties

    public java.util.Properties getProperties(java.util.Properties getList)

  Description copied from interface: `PropertyConsumer`
  Method to fill in a Properties object, reflecting the current values of the PropertyConsumer. If the PropertyConsumer has a prefix set, the property keys should have that prefix plus a separating '.' prepended to each property key it uses for configuration.

  Specified by:
    `getProperties` in interface `PropertyConsumer`
  Overrides:
    `getProperties` in class `StandardMapTileFactory`
  Parameters:
    `getList` - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

### getPropertyInfo

    public java.util.Properties getPropertyInfo(java.util.Properties list)

  Description copied from interface: `PropertyConsumer`
  Method to fill in a Properties object with values reflecting the properties able to be set on this PropertyConsumer. The key for each property should be the raw property name (without a prefix) with a value that is a String that describes what the property key represents, along with any other information about the property that would be helpful (range, default value, etc.).

  Specified by:
    `getPropertyInfo` in interface `PropertyConsumer`
  Overrides:
    `getPropertyInfo` in class `StandardMapTileFactory`
  Parameters:
    `list` - a Properties object to load the PropertyConsumer properties into. If getList equals null, then a new Properties object should be created.
  Returns:
    Properties object containing PropertyConsumer property values. If getList was not null, this should equal getList. Otherwise, it should be the Properties object created by the PropertyConsumer.

### setProperties

    public void setProperties(java.lang.String prefix,
                              java.util.Properties setList)

  Description copied from interface: `PropertyConsumer`
  Method to set the properties in the PropertyConsumer. The prefix is a string that should be prepended to each property key (in addition to a separating '.') in order for the PropertyConsumer to uniquely identify properties meant for it, in the midst of of Properties meant for several objects.

  Specified by:
    `setProperties` in interface `PropertyConsumer`
  Overrides:
    `setProperties` in class `StandardMapTileFactory`
  Parameters:
    `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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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