Package de.xima.fc.dao.impl
Class DatentabelleDao
- java.lang.Object
-
- de.xima.cmn.dao.AbstractDao<T,Long,IEntityContext>
-
- de.xima.fc.dao.impl.GenericDao<Datatable>
-
- de.xima.fc.dao.impl.DatentabelleDao
-
- All Implemented Interfaces:
de.xima.cmn.dao.interfaces.IAbstractDao<Datatable,Long,IEntityContext>,IDatentabelleDao,IGenericDao<Datatable>
public class DatentabelleDao extends GenericDao<Datatable> implements IDatentabelleDao
- Author:
- XIMA MEDIA GmbH
-
-
Constructor Summary
Constructors Constructor Description DatentabelleDao()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcopyDatatables(IEntityContext ec, Projekt source, Projekt target)Copies all datatables.voidcopyDatatablesForTemplate(IEntityContext ec, Projekt source, Projekt target)Copies datatables between project and template, without creating the database tables.voidinsertValuesToTables(IEntityContext ec, Vorgang vorgang)Diese Methode dient dazu, EingabeWerte aus einem Vorgang in die Projekt-Postfach-Tabelle bzw.voidmigrateOldDatatable(IEntityContext ec, Projekt project)Migrates an old datatable to the new data model.voidmigrateOldPostfachTable(IEntityContext ec, Projekt project)Migrates an old Postfach table to a datatable.voidrecreateDataTable(IEntityContext ec, Projekt projekt, EProjectSpecificDBTable tableType)voidrecreateDataTableWithConnection(Connection connection, Projekt project, Datatable datatable)Recreates a datatable using a database connection.voidreindexDataTable(IEntityContext ec, Projekt projekt)Deprecated.voidreindexDatatableInExternalDatabase(IEntityContext ec, Projekt project)Reindexes the datatables in the external databases.voidreindexDatatableInSystemDatabase(IEntityContext ec, Projekt project)Reindexes the datatables in the system database.voidreindexPostfachTable(IEntityContext ec, Projekt projekt)Deprecated.-
Methods inherited from class de.xima.fc.dao.impl.GenericDao
getEntityRefs, getPostActionHook, getPreActionHook, read
-
Methods inherited from class de.xima.cmn.dao.AbstractDao
all, bulkDelete, bulkUpdate, cb, checkLockingVersion, cq, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, notifyListener, notifyListener, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface de.xima.cmn.dao.interfaces.IAbstractDao
all, bulkDelete, bulkUpdate, checkLockingVersion, create, create, delete, delete, deleteAll, executePagedDaoAction, getAttributes, getAttributes, getSingleAttributes, getSingleAttributes, getTransactionHandler, read, registerListener, registerListener, registerListener, resultTotalCount, setTransactionHandler, singleElement, unregisterListener, unregisterListener, unregisterListener, update, update
-
Methods inherited from interface de.xima.fc.dao.interfaces.IGenericDao
count, createOrUpdate, findAll, findSingle, getEntityRefs, read
-
-
-
-
Method Detail
-
insertValuesToTables
public void insertValuesToTables(IEntityContext ec, Vorgang vorgang)
Diese Methode dient dazu, EingabeWerte aus einem Vorgang in die Projekt-Postfach-Tabelle bzw. Projekt-Datentabelle zu schreiben. Die Tabelleninformationen werden aus dem im Vorgang referenzierten Projekt entnommen.- Specified by:
insertValuesToTablesin interfaceIDatentabelleDao- Parameters:
ec-EntityContextder für die Datenbankarbeiten genutzt wirdvorgang- dessen Werte anhand des aktuellenFormEingangin die Tabelle geschrieben werden sollen.
-
recreateDataTable
public void recreateDataTable(IEntityContext ec, Projekt projekt, EProjectSpecificDBTable tableType) throws Exception
- Specified by:
recreateDataTablein interfaceIDatentabelleDao- Throws:
Exception
-
recreateDataTableWithConnection
public void recreateDataTableWithConnection(Connection connection, Projekt project, Datatable datatable) throws SQLException, liquibase.exception.PreconditionFailedException, liquibase.exception.DatabaseException, liquibase.exception.PreconditionErrorException
Description copied from interface:IDatentabelleDaoRecreates a datatable using a database connection.- Specified by:
recreateDataTableWithConnectionin interfaceIDatentabelleDao- Parameters:
connection- database connectionproject- projectdatatable- datatable- Throws:
SQLException- if an error during database operation occursliquibase.exception.PreconditionFailedException- if the table still exists after dropping itliquibase.exception.DatabaseException- if database connection cannot be establishedliquibase.exception.PreconditionErrorException- if precondition cannot be checked
-
reindexDataTable
@Deprecated public void reindexDataTable(IEntityContext ec, Projekt projekt) throws Exception
Deprecated.Description copied from interface:IDatentabelleDaoReindexes the project-specific data table for the given project. Clears the table, recalculates the data from the saved form record data, and updates the table with that data.- Specified by:
reindexDataTablein interfaceIDatentabelleDao- Parameters:
ec- Entity context to use for accessing the database.projekt- The project with the data table to update.- Throws:
Exception- When the table could not be reindexed.
-
reindexPostfachTable
@Deprecated public void reindexPostfachTable(IEntityContext ec, Projekt projekt) throws Exception
Deprecated.Description copied from interface:IDatentabelleDaoReindexes the project-specific inbox table for the given project. Clears the table, recalculates the data from the saved form record data, and updates the table with that data.- Specified by:
reindexPostfachTablein interfaceIDatentabelleDao- Parameters:
ec- Entity context to use for accessing the database.projekt- The project with the inbox table to update.- Throws:
Exception- When the table could not be reindexed.
-
reindexDatatableInSystemDatabase
public void reindexDatatableInSystemDatabase(IEntityContext ec, Projekt project)
Description copied from interface:IDatentabelleDaoReindexes the datatables in the system database.- Specified by:
reindexDatatableInSystemDatabasein interfaceIDatentabelleDao- Parameters:
ec- entity contextproject- project
-
reindexDatatableInExternalDatabase
public void reindexDatatableInExternalDatabase(IEntityContext ec, Projekt project)
Description copied from interface:IDatentabelleDaoReindexes the datatables in the external databases.- Specified by:
reindexDatatableInExternalDatabasein interfaceIDatentabelleDao- Parameters:
ec- entity contextproject- project
-
migrateOldDatatable
public void migrateOldDatatable(IEntityContext ec, Projekt project)
Description copied from interface:IDatentabelleDaoMigrates an old datatable to the new data model.- Specified by:
migrateOldDatatablein interfaceIDatentabelleDao- Parameters:
ec- entity contextproject- project
-
migrateOldPostfachTable
public void migrateOldPostfachTable(IEntityContext ec, Projekt project)
Description copied from interface:IDatentabelleDaoMigrates an old Postfach table to a datatable.- Specified by:
migrateOldPostfachTablein interfaceIDatentabelleDao- Parameters:
ec- entity contextproject- project
-
copyDatatables
public void copyDatatables(IEntityContext ec, Projekt source, Projekt target)
Description copied from interface:IDatentabelleDaoCopies all datatables. The datatable in the system database is being renamed, whereas the external datatables are being reused.- Specified by:
copyDatatablesin interfaceIDatentabelleDao- Parameters:
ec- entity contextsource- source projecttarget- target project
-
copyDatatablesForTemplate
public void copyDatatablesForTemplate(IEntityContext ec, Projekt source, Projekt target)
Description copied from interface:IDatentabelleDaoCopies datatables between project and template, without creating the database tables.- Specified by:
copyDatatablesForTemplatein interfaceIDatentabelleDao- Parameters:
ec- entity contextsource- projecttarget- template
-
-