Example usage for org.apache.commons.dbutils.handlers ScalarHandler ScalarHandler

List of usage examples for org.apache.commons.dbutils.handlers ScalarHandler ScalarHandler

Introduction

In this page you can find the example usage for org.apache.commons.dbutils.handlers ScalarHandler ScalarHandler.

Prototype

public ScalarHandler() 

Source Link

Document

Creates a new instance of ScalarHandler.

Usage

From source file:org.rti.zcore.dar.utils.DatabaseUtils.java

/**
 * Fetch a single value; Support for adding value array
 *
 * @param conn//from  w ww . j  av  a  2s.  c  o m
 * @param sql
 * @param values
 * @return
 * @throws SQLException
 */
public static Object getScalar(Connection conn, String sql, ArrayList values) throws SQLException {
    ResultSetHandler h = new ScalarHandler();
    QueryRunner run = new QueryRunner();
    Object result = run.query(conn, sql, values.toArray(), h);
    return result;
}

From source file:org.rti.zcore.dar.utils.DatabaseUtils.java

/**
 * for multiple sql statement - returns LAST_INSERT_ID
 *
 * unused//from   w  ww  .j  a  v a 2 s .  com
 *
 * @param sql
 * @param params
 * @return
 * @throws Exception
 */
public static Object create(java.lang.String sql, java.lang.String sql2, java.lang.Object[] params)
        throws java.lang.Exception {
    DataSource dataSource = null;
    dataSource = DatabaseUtils.getZEPRSDataSource();
    Connection conn = dataSource.getConnection();
    // conn.setAutoCommit(true);
    ZEPRSQueryRunner run = new ZEPRSQueryRunner(dataSource);
    // QueryRunner run = new QueryRunner(dataSource);
    run.update(conn, sql);
    run.update(conn, sql2, params);
    // now get the id
    ResultSetHandler h = new ScalarHandler();
    Object result = (Object) run.query(conn, "SELECT LAST_INSERT_ID();", h);
    conn.close();
    conn = null;
    return result;
}

From source file:org.rti.zcore.dar.utils.DatabaseUtils.java

/**
 * returns autogenerated id field after performing insert
 *
 * @param sql//ww w .ja  v  a  2  s . c  o m
 * @param values
 * @return
 * @throws ServletException
 * @throws SQLException
 */
public static Object create(String sql, java.lang.Object[] values) throws ServletException, SQLException {
    DataSource dataSource = null;
    dataSource = DatabaseUtils.getZEPRSDataSource();
    Connection conn = dataSource.getConnection();
    // conn.setAutoCommit(true);
    ZEPRSQueryRunner run = new ZEPRSQueryRunner(dataSource);
    // First do the insert
    try {
        run.update(conn, sql, values);
    } catch (SQLException e) {
        String message = e.getMessage();
        log.error("SQL message: " + message + " Error: " + e);
        /*if (message.startsWith("Lock wait timeout exceeded; try restarting transaction") == true) {
        // run.close(conn);
        run = null;
        String poolMessage = null;
        try {
            poolMessage = PoolBuddy.checkPool();
        } catch (NamingException e1) {
            log.error(e);
        }
        log.error("Connection closed. Pool status: " + poolMessage + " Restarting. Error: " + e);
        run = new ZEPRSQueryRunner(dataSource);
        try {
            run.wait(1000);
        } catch (InterruptedException e1) {
            log.error(e1);
        }
        try {
            run.update(conn, sql, values);
        } catch (SQLException e1) {
            log.error("Failed after second attempt. Error: " + e);
        }
        }*/

    }
    // now get the id
    ResultSetHandler h = new ScalarHandler();
    Object result = (Object) run.query(conn, "SELECT LAST_INSERT_ID();", h);
    conn.close();
    conn = null;
    return result;
}

From source file:ttf.persistence.sql.SQLStore.java

@Override
public double loadNrOfArticles() throws PersistenceException, SQLException {
    QueryRunner run = new QueryRunner(dataSource);

    double NrOfArticles = 0;
    String queryInterval = "SELECT count(*) FROM articles";

    Long count = (Long) run.query(queryInterval, new ScalarHandler());
    if (count != null)
        NrOfArticles = ((double) count);

    return NrOfArticles;
}

From source file:ttf.tools.AdvancedApp.java

public void run() throws IllegalArgumentException, FeedException, IOException, SQLException {
    // set up parameters
    double minSimilarity = configuration.getDouble("analysis.minSimilarity");

    // set up commands
    List<Command> commands = new LinkedList<Command>();
    commands.add(new EntityDetectionCommand());
    commands.add(new TfIdfHelperCommand());
    commands.add(new TfIdfDetectionCommand());
    commands.add(new TopicLoadingCommand());
    commands.add(new TopicSelectionCommand(minSimilarity));
    commands.add(new TopicUpdateCommand());
    commands.add(new ModelPersistenceCommand());

    QueryRunner run = new QueryRunner(dataSource);
    String queryInterval = "SELECT min(retrievalInterval) FROM " + SOURCES;
    String queryArticles = "SELECT title, author, publishedAt, discoveredAt, address, content FROM "
            + INCOMINGARTICLES + " WHERE processed = 0";
    String updateArticle = "UPDATE " + INCOMINGARTICLES + " SET processed = 1 WHERE address = ?";

    // Read update interval
    long updateInterval = 0;
    Integer interval = (Integer) run.query(queryInterval, new ScalarHandler());
    if (interval != null)
        updateInterval = ((Integer) interval) * FeedInfo.MINUTE;

    while (updateInterval > 0) {
        // Get unprocessed incoming articles
        InternalProvider provider = new InternalProvider();
        List<IncomingArticle> incomingArticles = run.query(queryArticles, new IncomingArticleListRSH());

        for (IncomingArticle incomingArticle : incomingArticles) {
            Article article = transformer.transform(incomingArticle);
            provider.add(article);/*ww  w  .j  av a2s .  co  m*/
        }

        process(commands, provider);

        // Mark processed
        for (IncomingArticle incomingArticle : incomingArticles) {
            run.update(updateArticle, incomingArticle.getAddress());
        }

        try {
            Thread.sleep(updateInterval);
        } catch (InterruptedException e) {
        }
    }
}

From source file:tv.dyndns.kishibe.qmaclone.server.database.DirectDatabase.java

@Override
public int addProblem(PacketProblem problem) throws DatabaseException {
    synchronized (lockAddProblem) {
        try {//from ww  w. j  a v a2 s . c  o m
            problem.id = runner.query("SELECT MAX(ID) FROM problem", new ScalarHandler<Integer>()) + 1;

            String[] answers = Arrays.copyOf(problem.answers, MAX_NUMBER_OF_ANSWERS);
            String[] choices = Arrays.copyOf(problem.choices, MAX_NUMBER_OF_CHOICES);
            for (int i = 0; i < MAX_NUMBER_OF_ANSWERS; ++i) {
                answers[i] = emptyToNull(answers[i]);
                choices[i] = emptyToNull(choices[i]);
            }

            long indication = problem.indication == null ? 0 : problem.indication.getTime();
            long indicationResolved = problem.indicationResolved == null ? 0
                    : problem.indicationResolved.getTime();
            runner.update(
                    "INSERT INTO problem (ID, GENRE, TYPE, SENTENCE, ANSWER0, ANSWER1, ANSWER2, ANSWER3, ANSWER4, ANSWER5, ANSWER6, ANSWER7, CHOICE0, CHOICE1, CHOICE2, CHOICE3, CHOICE4, CHOICE5, CHOICE6, CHOICE7, GOOD, BAD, CREATER, NOTE, IMAGE_ANSWER, IMAGE_CHOICE, RANDOM_FLAG, IMAGE_URL, MOVIE_URL, INDICATION, INDICATION_MESSAGE, INDICATION_RESOLVED, NUMBER_OF_DISPLAYED_CHOICES) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
                    problem.id, problem.genre.getIndex(), problem.type.getIndex(), problem.sentence, answers[0],
                    answers[1], answers[2], answers[3], answers[4], answers[5], answers[6], answers[7],
                    choices[0], choices[1], choices[2], choices[3], choices[4], choices[5], choices[6],
                    choices[7], problem.good, problem.bad, problem.creator, problem.note, problem.imageAnswer,
                    problem.imageChoice, problem.randomFlag.getIndex(), problem.imageUrl, problem.movieUrl,
                    indication, problem.indicationMessage, indicationResolved,
                    problem.numberOfDisplayedChoices);

            fullTextSearch.addProblem(problem);
            return problem.id;
        } catch (SQLException | IOException e) {
            throw new DatabaseException(e);
        }
    }
}

From source file:tv.dyndns.kishibe.qmaclone.server.database.DirectDatabase.java

@Override
public void buildBbsThread(int bbsId, PacketBbsThread thread, PacketBbsResponse response)
        throws DatabaseException {
    synchronized (lockBuildBbsThread) {
        try {/* ww w . java2 s  .com*/
            runner.update("INSERT INTO bbs_thread (lastUpdate, title, bbsId) VALUES (?, ?, ?)",
                    System.currentTimeMillis(), thread.title, bbsId);
            thread.id = runner.query("SELECT MAX(id) FROM bbs_thread", new ScalarHandler<BigInteger>())
                    .longValue();
            response.threadId = thread.id;
            runner.update(
                    "INSERT INTO bbs_response (threadId, name, userCode, machineIp, dispInfo, postTime, body) VALUES (?, ?, ?, ?, ?, ?, ?)",
                    response.threadId, response.name, response.userCode, response.remoteAddress,
                    response.dispInfo, System.currentTimeMillis(), response.body);
        } catch (SQLException e) {
            throw new DatabaseException(e);
        }
    }
}

From source file:tv.dyndns.kishibe.qmaclone.server.database.DirectDatabase.java

@Override
public int getNumberOfBbsThread(int bbsId) throws DatabaseException {
    try {/*w w  w  .  j  a  v  a2s .c om*/
        return (int) (long) runner.query("SELECT COUNT(*) FROM bbs_thread WHERE bbsId = ?",
                new ScalarHandler<Long>(), bbsId);
    } catch (SQLException e) {
        throw new DatabaseException(e);
    }
}

From source file:tv.dyndns.kishibe.qmaclone.server.database.DirectDatabase.java

@Override
public boolean isUsedUserCode(int userCode) throws DatabaseException {
    try {/* www  . j  a v  a2s. c  o  m*/
        return 0 < runner.query("SELECT COUNT(*) FROM player WHERE USER_CODE = ?", new ScalarHandler<Long>(),
                userCode);
    } catch (SQLException e) {
        throw new DatabaseException(e);
    }
}

From source file:tv.dyndns.kishibe.qmaclone.server.database.DirectDatabase.java

@Override
public int getNumberOfLinkDatas() throws DatabaseException {
    try {/*  ww  w .  j  ava  2 s  .c om*/
        return (int) (long) runner.query("SELECT COUNT(*) FROM link WHERE valid = TRUE",
                new ScalarHandler<Long>());
    } catch (SQLException e) {
        throw new DatabaseException(e);
    }
}