view artifact-database/src/main/java/org/dive4elements/artifactdatabase/h2/CollectionAccessUpdateTrigger.java @ 475:415df0fc4fa1

Fixed maven group ids
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 12:23:04 +0200
parents d0ac790a6c89
children 584591f8203c
line wrap: on
line source
package org.dive4elements.artifactdatabase.h2;

import org.h2.api.Trigger;

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.PreparedStatement;

import org.dive4elements.artifactdatabase.DBConfig;

import org.dive4elements.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 :

http://dive4elements.wald.intevation.org