Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/h2/CollectionAccessUpdateTrigger.java @ 363:4d3298295a64
Enhanced the State interface with a new method initialize() which might be used to initialize the State based on a model Artifact.
artifacts/trunk@3623 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 09 Jan 2012 08:15:35 +0000 |
parents | f33401ea2a6c |
children |
line wrap: on
line source
package de.intevation.artifactdatabase.h2; import org.h2.api.Trigger; import java.sql.Connection; import java.sql.SQLException; import java.sql.PreparedStatement; import de.intevation.artifactdatabase.DBConfig; import de.intevation.artifactdatabase.db.SQL; import org.apache.log4j.Logger; public class CollectionAccessUpdateTrigger implements Trigger { private static Logger logger = Logger.getLogger(CollectionAccessUpdateTrigger.class); public String COLLECTIONS_TOUCH_TRIGGER_FUNCTION; public void init( Connection conn, String schemaName, String triggerName, String tableName, boolean before, int type ) throws SQLException { logger.debug("CollectionAccessUpdateTrigger.init"); setupSQL(DBConfig.getInstance().getSQL()); } protected void setupSQL(SQL sql) { COLLECTIONS_TOUCH_TRIGGER_FUNCTION = sql.get("collections.touch.trigger.function"); } public void fire( Connection conn, Object [] oldRow, Object [] newRow ) throws SQLException { logger.debug("CollectionAccessUpdateTrigger.fire"); PreparedStatement stmnt = conn.prepareStatement( COLLECTIONS_TOUCH_TRIGGER_FUNCTION); stmnt.setObject(1, newRow[0]); stmnt.execute(); stmnt.close(); } public void close() throws SQLException { logger.debug("CollectionAccessUpdateTrigger.close"); } public void remove() throws SQLException { logger.debug("CollectionAccessUpdateTrigger.remove"); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :