Package gov.usgs.earthquake.geoserve
Class ANSSRegionsFactory
- java.lang.Object
-
- gov.usgs.earthquake.geoserve.ANSSRegionsFactory
-
public class ANSSRegionsFactory extends java.lang.ObjectClass to manage ANSS Authoritative Region updates. Simplest usage: ANSSRegionsFactory.getFactory().getRegions() Regions are not fetched untilstartup()(orfetchRegions()) is called.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_REGIONS_JSONpath to write regions.jsonstatic java.util.logging.LoggerLOGGERlogging objectstatic longMILLISECONDS_PER_DAYmilliseconds per day
-
Constructor Summary
Constructors Constructor Description ANSSRegionsFactory()Use default GeoserveLayersService.ANSSRegionsFactory(GeoserveLayersService geoserveLayersService)Use custom GeoserveLayersService.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfetchRegions()Download regions from geoserve.static ANSSRegionsFactorygetFactory()Get the global ANSSRegionsFactory, creating and starting if needed.static ANSSRegionsFactorygetFactory(boolean startup)GeoserveLayersServicegetGeoserveLayersService()Get the service.java.io.FilegetLocalRegions()Get the local regions file.RegionsgetRegions()Get the most recently fetched Regions.protected RegionsloadFromFile()Read regions from local regions file.protected RegionsloadFromGeoserve()Read regions from geoserve service.protected voidsaveToFile(java.io.File regionsFile, javax.json.JsonObject json)Store json to local regions file.static voidsetFactory(ANSSRegionsFactory factory)Set the global ANSSRegionsFactory, shutting down any existing factory if needed.voidsetGeoserveLayersService(GeoserveLayersService service)Set the service.voidsetLocalRegions(java.io.File localRegions)Set the local regions file.voidshutdown()Stop updating regions.voidstartup()Start updating regions.
-
-
-
Field Detail
-
LOGGER
public static final java.util.logging.Logger LOGGER
logging object
-
MILLISECONDS_PER_DAY
public static final long MILLISECONDS_PER_DAY
milliseconds per day- See Also:
- Constant Field Values
-
DEFAULT_REGIONS_JSON
public static final java.lang.String DEFAULT_REGIONS_JSON
path to write regions.json- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ANSSRegionsFactory
public ANSSRegionsFactory()
Use default GeoserveLayersService.
-
ANSSRegionsFactory
public ANSSRegionsFactory(GeoserveLayersService geoserveLayersService)
Use custom GeoserveLayersService.- Parameters:
geoserveLayersService- to use
-
-
Method Detail
-
getFactory
public static ANSSRegionsFactory getFactory()
Get the global ANSSRegionsFactory, creating and starting if needed.- Returns:
- ANSSRegionsFactory
-
getFactory
public static ANSSRegionsFactory getFactory(boolean startup)
- Parameters:
startup- if Factory should be created and started, if needed- Returns:
- ANSSRegionsFactory
-
setFactory
public static void setFactory(ANSSRegionsFactory factory)
Set the global ANSSRegionsFactory, shutting down any existing factory if needed.- Parameters:
factory- to set
-
fetchRegions
public void fetchRegions()
Download regions from geoserve. Writes out to "regions.json" in current working directory and, if unable to update, reads in local copy.
-
loadFromFile
protected Regions loadFromFile() throws java.io.IOException
Read regions from local regions file.- Returns:
- Regions
- Throws:
java.io.IOException- if error occurs
-
loadFromGeoserve
protected Regions loadFromGeoserve() throws java.io.IOException
Read regions from geoserve service.- Returns:
- Regions
- Throws:
java.io.IOException- if error occurs
-
saveToFile
protected void saveToFile(java.io.File regionsFile, javax.json.JsonObject json) throws java.io.IOExceptionStore json to local regions file.- Parameters:
regionsFile- to store tojson- json response to store locally.- Throws:
java.io.IOException- if IO error occurs
-
startup
public void startup()
Start updating regions.
-
shutdown
public void shutdown()
Stop updating regions.
-
getGeoserveLayersService
public GeoserveLayersService getGeoserveLayersService()
Get the service.- Returns:
- geoserveLayersService
-
setGeoserveLayersService
public void setGeoserveLayersService(GeoserveLayersService service)
Set the service.- Parameters:
service- GeoserveLayersService to set
-
getLocalRegions
public java.io.File getLocalRegions()
Get the local regions file.- Returns:
- localRegions
-
setLocalRegions
public void setLocalRegions(java.io.File localRegions)
Set the local regions file.- Parameters:
localRegions- file to set
-
getRegions
public Regions getRegions()
Get the most recently fetched Regions.- Returns:
- regions
-
-