|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.deepamehta.core.osgi.PluginActivator
de.deepamehta.plugins.geomaps.GeomapsPlugin
public class GeomapsPlugin
Nested Class Summary | |
---|---|
private class |
GeomapsPlugin.Address
|
Field Summary | |
---|---|
private static String |
COOKIE_NO_GEOCODING
|
private static double |
EARTH_RADIUS_KM
|
private FacetsService |
facetsService
|
private static String |
GEOCODER_URL
|
private Logger |
logger
|
private TopicmapsService |
topicmapsService
|
Fields inherited from class de.deepamehta.core.osgi.PluginActivator |
---|
bundle, dms |
Constructor Summary | |
---|---|
GeomapsPlugin()
|
Method Summary | |
---|---|
private boolean |
abortGeocoding()
|
void |
addCoordinateToGeomap(long geomapId,
long geoCoordId)
Adds a Geo Coordinate topic to a geomap. |
private Topic |
findAddress(Topic topic)
|
private Topic |
findChildTopic(Topic topic,
String topicTypeUri)
Searches a topic's composite value for a topic of a given type. |
private void |
geocodeAndStoreFacet(GeomapsPlugin.Address address,
Topic topic)
Geocodes the given address and stores the resulting coordinate as a facet value of the given Address topic. |
GeoCoordinate |
geoCoordinate(Topic geoCoordTopic)
Returns the geo coordinate encoded in a Geo Coordinate topic. |
double |
getDistance(GeoCoordinate coord1,
GeoCoordinate coord2)
Calculates the distance between 2 geo coordinates in kilometer. |
Topic |
getDomainTopic(long geoCoordId)
Finds the domain topic that corresponds to a Geo Coordinate topic. |
GeoCoordinate |
getGeoCoordinate(Topic geoTopic)
Returns the geo coordinate of a geo-facetted topic (e.g. |
private Topic |
getGeoCoordinateTopic(Topic geoTopic)
Returns the Geo Coordinate topic (including its child topics) of a geo-facetted topic (e.g. |
Geomap |
getGeomap(long geomapId)
|
void |
init()
|
void |
postCreateTopic(Topic topic)
|
void |
postUpdateTopic(Topic topic,
TopicModel newModel,
TopicModel oldModel)
|
void |
preSendTopic(Topic topic)
Enriches an Address topic with its geo coordinate. |
void |
setGeomapState(long geomapId,
double lon,
double lat,
int zoom)
|
private void |
storeGeoCoordinate(Topic address,
GeoCoordinate geoCoord)
Stores a geo coordinate for an address topic in the DB. |
Methods inherited from class de.deepamehta.core.osgi.PluginActivator |
---|
getBundleContext, getPluginName, getStaticResource, getUri, postInstall, publishDirectory, serviceArrived, serviceGone, setCoreService, shutdown, start, stop, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final String GEOCODER_URL
private static final String COOKIE_NO_GEOCODING
private static final double EARTH_RADIUS_KM
private TopicmapsService topicmapsService
private FacetsService facetsService
private Logger logger
Constructor Detail |
---|
public GeomapsPlugin()
Method Detail |
---|
public Geomap getGeomap(long geomapId)
getGeomap
in interface GeomapsService
public Topic getDomainTopic(long geoCoordId)
GeomapsService
getDomainTopic
in interface GeomapsService
public GeoCoordinate getGeoCoordinate(Topic geoTopic)
GeomapsService
null
if no geo coordinate is stored.
getGeoCoordinate
in interface GeomapsService
null
.public GeoCoordinate geoCoordinate(Topic geoCoordTopic)
GeomapsService
geoCoordinate
in interface GeomapsService
public void addCoordinateToGeomap(long geomapId, long geoCoordId)
GeomapsService
addCoordinateToGeomap
in interface GeomapsService
public void setGeomapState(long geomapId, double lon, double lat, int zoom)
setGeomapState
in interface GeomapsService
public double getDistance(GeoCoordinate coord1, GeoCoordinate coord2)
GeomapsService
getDistance
in interface GeomapsService
public void init()
init
in interface PluginContext
init
in class PluginActivator
public void postCreateTopic(Topic topic)
postCreateTopic
in interface PostCreateTopicListener
public void postUpdateTopic(Topic topic, TopicModel newModel, TopicModel oldModel)
postUpdateTopic
in interface PostUpdateTopicListener
public void preSendTopic(Topic topic)
preSendTopic
in interface PreSendTopicListener
private Topic getGeoCoordinateTopic(Topic geoTopic)
null
if no geo coordinate is stored.
private void geocodeAndStoreFacet(GeomapsPlugin.Address address, Topic topic)
topic
- the Address topic to be facetted.private void storeGeoCoordinate(Topic address, GeoCoordinate geoCoord)
private Topic findAddress(Topic topic)
private Topic findChildTopic(Topic topic, String topicTypeUri)
The first topic found is returned, according to a depth-first search. For multiple-value fields only the first topic is returned.
TODO: make this a generally available method by adding it to the Topic interface?
private boolean abortGeocoding()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |