Example usage for org.apache.commons.dbutils ResultSetHandler ResultSetHandler

List of usage examples for org.apache.commons.dbutils ResultSetHandler ResultSetHandler

Introduction

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

Prototype

ResultSetHandler

Source Link

Usage

From source file:com.norconex.collector.http.db.impl.derby.DerbyCrawlURLDatabase.java

private void copyCrawlURLsToQueue(String sourceTable) {
    ResultSetHandler<Void> h = new ResultSetHandler<Void>() {
        @Override/*ww  w . j  av a 2 s .c om*/
        public Void handle(ResultSet rs) throws SQLException {
            while (rs.next()) {
                CrawlURL crawlURL = toCrawlURL(rs);
                if (crawlURL != null) {
                    queue(crawlURL);
                }
            }
            return null;
        }
    };
    try {
        new QueryRunner(datasource)
                .query("SELECT url, depth, smLastMod, smChangeFreq, smPriority " + "FROM " + sourceTable, h);
    } catch (SQLException e) {
        throw new CrawlURLDatabaseException("Problem loading crawl URL from database.", e);
    }
}

From source file:com.norconex.collector.core.data.store.impl.jdbc.JDBCCrawlDataStore.java

private void copyCrawlDatasToQueue(final String sourceTable) {
    ResultSetHandler<Void> h = new ResultSetHandler<Void>() {
        @Override/*from w w  w . j  ava 2 s .c  o m*/
        public Void handle(ResultSet rs) throws SQLException {
            while (rs.next()) {
                ICrawlData crawlData = serializer.toCrawlData(sourceTable, rs);
                if (crawlData != null) {
                    queue(crawlData);
                }
            }
            return null;
        }
    };
    try {
        new QueryRunner(datasource).query(serializer.getSelectCrawlDataSQL(sourceTable), h);
    } catch (SQLException e) {
        throw new CrawlDataStoreException("Problem loading crawl data from database.", e);
    }
}

From source file:com.norconex.collector.http.db.impl.derby.DerbyCrawlURLDatabase.java

private CrawlURL sqlQueryCrawlURL(boolean selectAll, String table, String where, String order,
        Object... params) {/*w  w  w.j  a  va  2  s . com*/
    try {
        ResultSetHandler<CrawlURL> h = new ResultSetHandler<CrawlURL>() {
            @Override
            public CrawlURL handle(ResultSet rs) throws SQLException {
                if (rs.next()) {
                    return toCrawlURL(rs);
                }
                return null;
            }
        };
        String sql = "SELECT url, depth, smLastMod, smChangeFreq, " + "smPriority ";
        if (selectAll) {
            sql += ", docchecksum, headchecksum, status ";
        }
        sql += "FROM " + table;
        if (StringUtils.isNotBlank(where)) {
            sql += " WHERE " + where;
        }
        if (StringUtils.isNotBlank(order)) {
            sql += " ORDER BY " + order;
        }
        if (LOG.isDebugEnabled()) {
            LOG.debug("SQL: " + sql);
        }
        return new QueryRunner(datasource).query(sql, h, params);
    } catch (SQLException e) {
        throw new CrawlURLDatabaseException("Problem running database query.", e);
    }
}

From source file:com.norconex.collector.core.data.store.impl.jdbc.JDBCCrawlDataStore.java

private ICrawlData sqlFindCrawlData(final String table, String sql, Object... params) {
    try {//from  w  ww .  j a  v a  2  s. c o m
        ResultSetHandler<ICrawlData> h = new ResultSetHandler<ICrawlData>() {
            @Override
            public ICrawlData handle(ResultSet rs) throws SQLException {
                if (rs.next()) {
                    return serializer.toCrawlData(table, rs);
                }
                return null;
            }
        };
        if (LOG.isDebugEnabled()) {
            LOG.debug("SQL: " + sql);
        }
        return new QueryRunner(datasource).query(sql, h, params);
    } catch (SQLException e) {
        throw new CrawlDataStoreException("Problem running database query.", e);
    }
}

From source file:com.hangum.tadpole.engine.sql.util.QueryUtils.java

/**
 * query to json//  ww  w.j a v  a2s  .com
 * 
 * @param userDB
 * @param strQuery
 * @param listParam
 */
@SuppressWarnings("deprecation")
public static JsonArray selectToJson(final UserDBDAO userDB, final String strQuery,
        final List<Object> listParam) throws Exception {
    final JsonArray jsonArry = new JsonArray();

    SqlMapClient client = TadpoleSQLManager.getInstance(userDB);
    QueryRunner qr = new QueryRunner(client.getDataSource());
    qr.query(strQuery, listParam.toArray(), new ResultSetHandler<Object>() {

        @Override
        public Object handle(ResultSet rs) throws SQLException {
            ResultSetMetaData metaData = rs.getMetaData();

            while (rs.next()) {
                JsonObject jsonObj = new JsonObject();
                for (int i = 1; i <= metaData.getColumnCount(); i++) {
                    String columnName = metaData.getColumnLabel(i);
                    String value = rs.getString(i) == null ? "" : rs.getString(i);

                    jsonObj.addProperty(columnName.toLowerCase(), value);
                }
                jsonArry.add(jsonObj);
            }

            return jsonArry;
        }
    });

    return jsonArry;
}

From source file:esg.node.util.migrate.UserMigrationTool.java

public int migrateRoles() {
    int ret = 0;// w w w  .j a  v  a  2s .  c o m
    ResultSetHandler<Integer> rolesResultSetHandler = new ResultSetHandler<Integer>() {
        public Integer handle(ResultSet rs) throws SQLException {
            int i = 0;
            String roleName = null;
            while (rs.next()) {
                roleName = transformRoleName(rs.getString(1));
                //                                              [name]         [description]
                if (UserMigrationTool.this.groupRoleDAO.addRole(roleName, rs.getString(2))) {
                    i++;
                    System.out.println("Migrated role #" + i + ": " + roleName);
                }
            }
            return i;
        }
    };

    try {
        ret = queryRunner.query(sourceRoleInfoQuery, rolesResultSetHandler);
        log.info("Migrated [" + ret + "] role records");
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return ret;
}

From source file:hermes.store.schema.DefaultJDBCAdapter.java

public int getDepth(Connection connection, String storeId, Destination destination)
        throws SQLException, JMSException {
    final QueryRunner runner = new QueryRunner();

    return (Integer) runner.query(connection, statements.getDepthStatement(),
            new Object[] { storeId, JMSUtils.getDestinationName(destination) }, new ResultSetHandler() {
                public Object handle(ResultSet rs) throws SQLException {
                    rs.next();/*from w  w w.  java  2s . c  om*/

                    return rs.getInt(1);
                }
            });
}

From source file:esg.node.util.migrate.UserMigrationTool.java

public int migrateGroups() {
    int ret = 0;/*from  w w w  . j  a  v  a  2s  .c  om*/
    ResultSetHandler<Integer> groupsResultSetHandler = new ResultSetHandler<Integer>() {
        public Integer handle(ResultSet rs) throws SQLException {
            int i = 0;
            String groupName = transformGroupName(rs.getString(1));
            while (rs.next()) {
                //                                               [name]         [description]    [visible]         [automatic_approval]
                if (UserMigrationTool.this.groupRoleDAO.addGroup(groupName, rs.getString(2), rs.getBoolean(3),
                        rs.getBoolean(4))) {
                    i++;
                    System.out.println("Migrated group #" + i + ": " + groupName);
                }
            }
            return i;
        }
    };

    try {
        ret = queryRunner.query(sourceGroupInfoQuery, groupsResultSetHandler);
        log.info("Migrated [" + ret + "] group records");
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return ret;
}

From source file:esg.node.components.notification.NotificationDAO.java

private int registerWithNotificationRunLog() {
    int ret = -1;
    try {//from   w  w  w  . j  a v  a 2  s. c  o  m
        log.trace("Registering this node [" + getNodeID() + "] into database");
        int count = queryRunner.query(regCheckEntryQuery, new ResultSetHandler<Integer>() {
            public Integer handle(ResultSet rs) throws SQLException {
                if (!rs.next()) {
                    return -1;
                }
                return rs.getInt(1);
            }
        }, NotificationDAO.this.getNodeID());

        if (count > 0) {
            log.info("Yes, " + NotificationDAO.this.getNodeID() + " exists in notification run log table");
        } else {
            log.info("No, " + NotificationDAO.this.getNodeID()
                    + " does NOT exist in notification run log table");
            ret = queryRunner.update(regAddEntryQuery, NotificationDAO.this.getNodeID(),
                    System.currentTimeMillis() / 1000);
        }

    } catch (SQLException ex) {
        log.error(ex);
    }
    return ret;
}

From source file:com.hangum.tadpole.engine.sql.util.QueryUtils.java

/**
 * query to xml/*  w  ww  . j a  va2  s. c om*/
 * 
 * @param userDB
 * @param strQuery
 * @param listParam
 */
@SuppressWarnings("deprecation")
public static String selectToXML(final UserDBDAO userDB, final String strQuery, final List<Object> listParam)
        throws Exception {
    final StringWriter stWriter = new StringWriter();

    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = factory.newDocumentBuilder();
    final Document doc = builder.newDocument();
    final Element results = doc.createElement("Results");
    doc.appendChild(results);

    SqlMapClient client = TadpoleSQLManager.getInstance(userDB);
    QueryRunner qr = new QueryRunner(client.getDataSource());
    qr.query(strQuery, listParam.toArray(), new ResultSetHandler<Object>() {

        @Override
        public Object handle(ResultSet rs) throws SQLException {
            ResultSetMetaData metaData = rs.getMetaData();

            while (rs.next()) {
                Element row = doc.createElement("Row");
                results.appendChild(row);
                for (int i = 1; i <= metaData.getColumnCount(); i++) {
                    String columnName = metaData.getColumnName(i);
                    Object value = rs.getObject(i) == null ? "" : rs.getObject(i);
                    Element node = doc.createElement(columnName);
                    node.appendChild(doc.createTextNode(value.toString()));
                    row.appendChild(node);
                }
            }

            return stWriter.toString();
        }
    });

    DOMSource domSource = new DOMSource(doc);
    TransformerFactory tf = TransformerFactory.newInstance();
    tf.setAttribute("indent-number", 4);

    Transformer transformer = tf.newTransformer();
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");

    transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
    transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");//"ISO-8859-1");
    StreamResult sr = new StreamResult(stWriter);
    transformer.transform(domSource, sr);

    return stWriter.toString();
}