02.05.2014 Views

CoreandServices.book - Ocean - Schlumberger

CoreandServices.book - Ocean - Schlumberger

CoreandServices.book - Ocean - Schlumberger

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Data Management<br />

The Abandon method will abort the operations performed in the transaction. This does<br />

not necessarily mean that the operations will be rolled back or undone in the database.<br />

Depending on the product family implementation, it is possible that an implementation<br />

with an underlying database might perform rollback. In Petrel the underlying operation will<br />

not be rolled back.<br />

The Abandon method has two forms. The first has no arguments and may throw a<br />

NotSupportedException. The second has an output parameter that is the collection<br />

of exceptions that may be thrown by delegates. The second case should be used if access<br />

to the exceptions is needed.<br />

The TryLock and TryLockCollection methods will attempt to lock a set of objects<br />

and will return true if all of the objects have been locked. On return from these methods,<br />

all or none of the objects will be locked. The set of objects for TryLock is in the form of<br />

an array. For TryLockCollection the set is an IEnumerable collection.<br />

Events will be generated for the change to the borehole and the creation of the well log<br />

when the transaction in the example is committed or abandoned. In either case, events<br />

are raised during the operation and after it has completed. These events will instantiate a<br />

new TransactionEventArgs object that will contain an ITransaction reference.<br />

The events are:<br />

• TransactionCommitting – raised when a transaction commit is being performed.<br />

• TransactionCommitted – raised when a transaction commit has completed.<br />

• TransactionAbandoning – raised when a transaction abandon is being performed.<br />

• TransactionAbandoned – raised when a transaction abandon has completed.<br />

Another event, ObjectLocked, will be raised when the transaction locks an object. This<br />

event will instantiate a TransactionObjectEventArgs object. This object contains a<br />

Data property with a collection of references to the objects that have been locked in<br />

addition to the ITransaction reference contained in the other events.s a Data<br />

property with a collection of references to the objects that have been locked in addition to<br />

the ITransaction reference contained in the other events.<br />

ITransactionManager Interface<br />

DataManager provides the property TransactionManager to access the<br />

ITransactionManager interface. The product family will provide the<br />

ITransactionManager implementation of the system. The ITransactionManager<br />

interface can be used to find the current transaction for a given context, find the<br />

<strong>Schlumberger</strong> Private<br />

<strong>Ocean</strong> Core 3-63

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!