view artifact-database/src/main/java/de/intevation/artifactdatabase/h2/CollectionAccessUpdateTrigger.java @ 229:328ef982d768

When an artifact is touched the collections which contain the artifact are touched, too. artifacts/trunk@1631 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 31 Mar 2011 08:58:42 +0000
parents
children 16cd059945e5
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.SQL;

import org.apache.log4j.Logger;

public class CollectionAccessUpdateTrigger
implements   Trigger
{
    private static Logger logger =
        Logger.getLogger(CollectionAccessUpdateTrigger.class);

    public static final String COLLECTIONS_TOUCH_TRIGGER_FUNCTION =
        SQL.get("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");
    }

    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