Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/SQLExecutor.java @ 201:973f244ed568
Improved the TransitionEngine with a method that determines if a State B is reachable from a State A.
artifacts/trunk@1445 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 09 Mar 2011 15:48:06 +0000 |
parents | 25d472a67a9f |
children |
line wrap: on
line source
/* * Copyright (c) 2011 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.artifactdatabase; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.sql.DataSource; import org.apache.log4j.Logger; public class SQLExecutor { private static Logger logger = Logger.getLogger(SQLExecutor.class); public Connection conn; public PreparedStatement stmnt; public ResultSet result; public SQLExecutor() { } public void reset() throws SQLException { if (result != null) { result.close(); result = null; } if (stmnt != null) { result = null; stmnt.close(); } } public PreparedStatement prepareStatement(String query) throws SQLException { return stmnt = conn.prepareStatement(query); } public void close() { if (result != null) { try { result.close(); } catch (SQLException sqle) {} } if (stmnt != null) { try { stmnt.close(); } catch (SQLException sqle) {} } if (conn != null) { try { conn.close(); } catch (SQLException sqle) {} } } public boolean runWrite() { DataSource dataSource = DBConnection.getDataSource(); try { conn = dataSource.getConnection(); try { conn.setAutoCommit(false); return doIt(); } catch (SQLException sqle) { conn.rollback(); throw sqle; } } catch (SQLException sqle) { logger.error(sqle.getLocalizedMessage(), sqle); } finally { close(); } return false; } public boolean runRead() { DataSource dataSource = DBConnection.getDataSource(); try { conn = dataSource.getConnection(); return doIt(); } catch (SQLException sqle) { logger.error(sqle.getLocalizedMessage(), sqle); } finally { close(); } return false; } public boolean doIt() throws SQLException { return true; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :