Apparatuses, systems, and methods for providing an event management framework for a geographic information system
Apparatuses, systems, and methods are provided for managing events in a Geographic Information System (GIS). A first event may be detected which is associated with a change made via a mapping interface of the GIS. Information associated with the first event may be cached in a memory of a computing device. A second event associated with committing of the change in a database of the GIS may be detected, and in response to detecting the second event, a new event that is a transformation of the first event stored in the memory, the second event or both may be generated.
1 . A method of managing events in a Geographic Information System (GIS), comprising:
detecting a first event associated with a change made to a preexisting object via a mapping interface of the GIS, wherein the change made is to update the preexisting object to continue to exist with a property modified by updating the property of the preexisting object from an initial value to an updated value;
caching information associated with the first event in a memory of a computing device, the caching including capturing the initial value prior to updating the property to the updated value and storing the initial value in the memory;
detecting, in a database of the GIS, a second event associated with committing of the change; and
in response to detecting the second event, generating a new event that is a transformation of the first event stored in the memory and the second event, wherein the new event makes available both the initial value and the updated value.
2 . The method of claim 1 , wherein the first event is detected at a client device of the GIS, and wherein the information is cached, the second event is detected, and the new event is generated by an Event Management Framework (EMF) executing on the computing device of the GIS.
3 . The method of claim 2 , further comprising transmitting an indication of the first event from the client device to the computing device.
4 . The method of claim 1 , further comprising:
transmitting the new event to one or more listeners; and
performing at least one operation by at least one of the one or more listeners responsive to the transmitted new event.
5 . The method of claim 4 , wherein the one or more listeners are registered to receive notifications associated with one or more of the first event, the preexisting object, or the information.
6 . The method of claim 1 , wherein the transformation of the first event stored in the memory and the second event includes one or more of reordering, supplementing, correcting, or chaining the first event stored in the memory and the second event.
7 . The method of claim 1 , wherein the new event includes additional configuration information specific to a class of the preexisting object being updated.
8 . The method of claim 1 , further comprising:
detecting a third event associated with a creation of a new object via the mapping interface of the GIS;
caching information associated with the third event in the memory of the computing device;
detecting, in the database of the GIS, a fourth event indicating that the new object exists in the database; and
in response to detecting the fourth event, generating a new event that is a transformation of the third event stored in the memory and the fourth event, wherein the new event makes available the information associated with the third event.
9 . The method of claim 1 , further comprising:
detecting a fifth event associated with a deletion of the preexisting object via the mapping interface of the GIS;
caching information associated with the fifth event in the memory of the computing device, wherein the information includes additional configuration information specific to a class of the preexisting object being deleted;
detecting, in the database of the GIS, a sixth event indicating that the preexisting object is being delete; and
in response to detecting the sixth event, generating a new event that is a transformation of the fifth event stored in the memory and the sixth event, wherein the new event makes available the information associated with the fifth event.
10 . The method of claim 1 , further comprising:
receiving one or more commands or operations via a user interface, wherein the first event is detected in response to the one or more commands or operations.
11 . The method of claim 1 , wherein the first event is associated with one or more sets of data associated with the database, one or more objects including the preexisting object associated with the database, or a combination thereof.
12 . A server for managing events in a Geographic Information System (GIS), the server comprising:
a processor;
a memory;
a GIS database configured to store GIS information;
a GIS operation section configured to receive a first event and to perform at least one operation in association with the GIS database based at least in part on the first event; and
an Event Management Framework (EMF) section configured to:
detect the first event associated with a change made to a preexisting object via a mapping interface of the GIS, wherein the change made is to update the preexisting object to continue to exist with a property modified by updating the property of the preexisting object from an initial value to an updated value;
cache information associated with the first event in the memory, the caching including capturing the initial value prior to updating the property to the updated value and storing the initial value in the memory;
generate a second event based at least in part on a status of the at least one operation performed by the GIS operation section responsive to the first event, wherein the second event is associated with committing of the change performed by the GIS database; and
generate an EMF event that is a transformation of the first event stored in the memory and the second event, wherein the EMF event makes available both the initial value and the updated value.
13 . The server of claim 12 , wherein the transformation of the first event and the second event includes one or more of reordering, supplementing, correcting, or chaining the first event and the second event.
14 . The server of claim 12 , wherein the EMF event includes additional configuration information specific to a class of the preexisting object being updated.
15 . The server of claim 12 , wherein the EMF section is further configured to:
detect a third event associated with a creation of a new object via the mapping interface of the GIS;
cache information associated with the third event in the memory;
detect, in the GIS database, a fourth event indicating that the new object exists in the GIS database; and
in response to detection of the fourth event, generate a new event that is a transformation of the third event stored in the memory and the fourth event, wherein the new event makes available the information associated with the third event.
16 . The server of claim 12 , wherein the EMF section is further configured to:
detect a fifth event associated with a deletion of the preexisting object via the mapping interface of the GIS;
cache information associated with the fifth event in the memory, wherein the information includes additional configuration information specific to a class of the preexisting object being deleted;
detect, in the GIS database, a sixth event indicating that the preexisting object is being deleted; and
in response to detection of the sixth event, generate a new event that is a transformation of the fifth event stored in the memory and the sixth event, wherein the new event makes available the information associated with the fifth event.
17 . The server of claim 12 , wherein the first event is associated with one or more sets of data associated with the GIS database, one or more objects including the preexisting object associated with the GIS database, or a combination thereof.