deegree 2.3 (2010/04/09 10:10 build-4-official)

org.deegree.io.datastore.sql.transaction
Class SQLTransaction

java.lang.Object
  extended by org.deegree.io.datastore.sql.AbstractRequestHandler
      extended by org.deegree.io.datastore.sql.transaction.SQLTransaction
All Implemented Interfaces:
DatastoreTransaction
Direct Known Subclasses:
GenericSQLTransaction

public class SQLTransaction
extends AbstractRequestHandler
implements DatastoreTransaction

Handles Transaction requests to SQL based datastores.

Version:
$Revision: 18544 $, $Date: 2009-07-20 16:14:38 +0200 (Mo, 20. Jul 2009) $
Author:
Markus Schneider, Anup Deshmukh, last edited by: $Author: mschneider $

Field Summary
 
Fields inherited from class org.deegree.io.datastore.sql.AbstractRequestHandler
aliasGenerator, conn, datastore, FT_COLUMN, FT_PREFIX
 
Constructor Summary
SQLTransaction(AbstractSQLDatastore datastore, TableAliasGenerator aliasGenerator, Connection conn)
          Creates a new instance of SQLTransaction from the given parameters.
 
Method Summary
 void commit()
          Makes the changes persistent that have been performed in this transaction.
 Connection getConnection()
          Returns the underlying JDBC connection.
 AbstractSQLDatastore getDatastore()
          Returns the underlying AbstractSQLDatastore.
 int performDelete(MappedFeatureType mappedFeatureType, Filter filter, String lockId)
          Deletes the features from the datastore that are matched by the given filter and type.
 List<FeatureId> performInsert(List<Feature> features)
          Inserts the given feature instances into the datastore.
 int performNative(Native operation)
          Performs a 'native' operation against the datastore.
 int performUpdate(MappedFeatureType mappedFeatureType, Feature replacementFeature, Filter filter, String lockId)
          Performs a update (replace-style) operation against the datastore.
 int performUpdate(MappedFeatureType mappedFeatureType, Map<PropertyPath,FeatureProperty> replacementProps, Filter filter, String lockId)
          Performs an update operation against the datastore.
 void release()
          Returns the transaction instance so other clients may acquire a transaction (and underlying resources, such as JDBCConnections can be freed).
 void rollback()
          Aborts the changes that have been performed in this transaction.
 
Methods inherited from class org.deegree.io.datastore.sql.AbstractRequestHandler
appendColumnsList, appendFeatureIdColumns, appendFeatureIdConstraint, appendFeatureIdConstraint, appendJoinCondition, appendJoins, appendQualifiedColumn, appendQualifiedColumnsList, determineAffectedAndModifiableFIDs, determineAffectedFIDs, determineSubFeatures, determineSuperFeatures, extractFeatureId, extractFeatureIds, extractFeatureIdsForceUnique
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SQLTransaction

public SQLTransaction(AbstractSQLDatastore datastore,
                      TableAliasGenerator aliasGenerator,
                      Connection conn)
               throws DatastoreException
Creates a new instance of SQLTransaction from the given parameters.

Parameters:
datastore -
aliasGenerator -
conn -
Throws:
DatastoreException
Method Detail

getDatastore

public AbstractSQLDatastore getDatastore()
Returns the underlying AbstractSQLDatastore.

Specified by:
getDatastore in interface DatastoreTransaction
Returns:
the underlying AbstractSQLDatastore

getConnection

public Connection getConnection()
Returns the underlying JDBC connection.

Returns:
the underlying JDBC connection

commit

public void commit()
            throws DatastoreException
Makes the changes persistent that have been performed in this transaction.

Specified by:
commit in interface DatastoreTransaction
Throws:
DatastoreException

rollback

public void rollback()
              throws DatastoreException
Aborts the changes that have been performed in this transaction.

Specified by:
rollback in interface DatastoreTransaction
Throws:
DatastoreException

release

public void release()
             throws DatastoreException
Returns the transaction instance so other clients may acquire a transaction (and underlying resources, such as JDBCConnections can be freed).

Specified by:
release in interface DatastoreTransaction
Throws:
DatastoreException

performInsert

public List<FeatureId> performInsert(List<Feature> features)
                              throws DatastoreException
Inserts the given feature instances into the datastore.

Specified by:
performInsert in interface DatastoreTransaction
Parameters:
features -
Returns:
feature ids of the inserted (root) features
Throws:
DatastoreException
See Also:
FeatureIdAssigner

performUpdate

public int performUpdate(MappedFeatureType mappedFeatureType,
                         Map<PropertyPath,FeatureProperty> replacementProps,
                         Filter filter,
                         String lockId)
                  throws DatastoreException
Performs an update operation against the datastore.

Specified by:
performUpdate in interface DatastoreTransaction
Parameters:
mappedFeatureType - feature type that is to be updated
replacementProps - properties and their replacement values
filter - selects the feature instances that are to be updated
lockId - optional id of associated lock (may be null)
Returns:
number of updated feature instances
Throws:
DatastoreException

performUpdate

public int performUpdate(MappedFeatureType mappedFeatureType,
                         Feature replacementFeature,
                         Filter filter,
                         String lockId)
                  throws DatastoreException
Performs a update (replace-style) operation against the datastore.

Specified by:
performUpdate in interface DatastoreTransaction
Parameters:
mappedFeatureType - feature type that is to be replaced
replacementFeature - feature instance that will be used to replace the properties of the selected features
filter - selects the feature instances that are to be replaced
lockId - optional id of associated lock (may be null)
Returns:
number of replaced feature instances
Throws:
DatastoreException

performDelete

public int performDelete(MappedFeatureType mappedFeatureType,
                         Filter filter,
                         String lockId)
                  throws DatastoreException
Deletes the features from the datastore that are matched by the given filter and type.

Specified by:
performDelete in interface DatastoreTransaction
Parameters:
mappedFeatureType -
filter -
lockId - optional id of associated lock (may be null)
Returns:
number of deleted feature instances
Throws:
DatastoreException

performNative

public int performNative(Native operation)
                  throws DatastoreException
Performs a 'native' operation against the datastore.

Specified by:
performNative in interface DatastoreTransaction
Parameters:
operation -
Returns:
number of processed feature instances.
Throws:
DatastoreException

deegree 2.3 (2010/04/09 10:10 build-4-official)

an open source project founded by lat/lon, Bonn, Germany.
For more information visit: http://www.deegree.org