WriteTransaction#

public class WriteTransaction extends Transaction<WritableContainer> implements WriteTransactionInterface#

This class is responsible for inserting, updating and deleting entities which are held in the TransactionContainer.

This class initializes and runs the Schedule of Jobs, calls the BackendTransactions for each entity, and handles exceptions, roll-back (if necessary) and clean up afterwards.

Author:

Timm Fitschen

Constructors#

WriteTransaction#

public WriteTransaction(WritableContainer container)#

Methods#

checkPermissions#

public static void checkPermissions(EntityInterface entity, Set<Permission> permissions)#

Check if the user has all permissions

cleanUp#

protected final void cleanUp()#

commit#

protected void commit()#

deriveUpdate#

public HashSet<Permission> deriveUpdate(EntityInterface newEntity, EntityInterface oldEntity)#

The entity is set to VALID iff there are no updates to be processed. The entity is set to QUALIFIED otherwise.

Parameters:
  • newEntity

  • oldEntity

Throws:

generateId#

public String generateId()#

getSRID#

public String getSRID()#

init#

protected void init()#

logHistory#

public boolean logHistory()#

postCheck#

protected void postCheck()#

postTransaction#

protected void postTransaction()#

preCheck#

protected void preCheck()#

preTransaction#

protected final void preTransaction()#

rollBack#

protected void rollBack()#

setNoIdIsError#

public void setNoIdIsError(boolean noIdIsError)#

Set if it is an error, if an Entity has no ID but just a name upon update.

transaction#

protected void transaction()#