Object graph editing context and methods of use
First Claim
1. In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of:
- prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager;
taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change;
making one or more changes to said first data bearing object during said execution of application code in response to said event;
transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention comprises a novel system for managing changes to a graph of data bearing objects In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based "undo" capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
-
Citations
24 Claims
-
1. In a computer system, a method for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager. - View Dependent Claims (2, 3, 4, 5)
-
-
6. In a computer system, a method for modifying a database in accordance with changes made to an object graph comprising a plurality of data bearing objects containing data from said database comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph, transmitting a message indicating an expected change to said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object; transmitting a commit message to said object graph manager requesting that changes made to said first data bearing object be committed to said database; taking a second snapshot of said first data bearing object upon said object graph manager receiving said commit message; detecting said one or more changes to said first data bearing object by comparing said second snapshot to said first snapshot; storing data corresponding to said detected one or more changes in said database. - View Dependent Claims (7, 8, 9)
-
-
10. In a computer system, a method for undoing changes made to an object graph comprising a plurality of data bearing objects containing data from a database comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; recording said snapshot on an undo stack. - View Dependent Claims (11, 12)
-
-
13. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for monitoring changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for modifying a database in accordance with changes made to an object graph comprising a plurality of data bearing objects containing data from said database, said method steps comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph, transmitting a message indicating an expected change to said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object; transmitting a commit message to said object graph manager requesting that changes made to said first data bearing object be committed to said database; taking a second snapshot of said first data bearing object upon said object graph manager receiving said commit message; detecting said one or more changes to said first data bearing object by comparing said second snapshot to said first snapshot; storing data corresponding to said detected one or more changes in said database. - View Dependent Claims (19, 20, 21)
-
-
22. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for undoing changes made to an object graph comprising a plurality of data bearing objects containing data from a database, said method steps comprising the steps of:
-
prior to making any change to a first data bearing object in said object graph in response to an event that initiates execution of application code, transmitting a message indicating that said first data bearing object expects to undergo a change from said first data bearing object to an object graph manager; taking a snapshot of said first data bearing object upon said object graph manager receiving said message indicating said expected change; making one or more changes to said first data bearing object during said execution of application code in response to said event; transmitting a message indicating an end of said execution of application code in response to said event to said object graph manager; recording said snapshot on an undo stack. - View Dependent Claims (23, 24)
-
Specification