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

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

Introduction

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

Prototype

public MapListHandler() 

Source Link

Document

Creates a new instance of MapListHandler using a BasicRowProcessor for conversion.

Usage

From source file:nl.opengeogroep.safetymaps.server.stripes.FotoFunctionActionBean.java

public List<Map<String, Object>> getFromDb() throws Exception {
    QueryRunner qr = DB.qr();/*from www . j  ava 2  s  . c om*/

    List<Map<String, Object>> rows = qr.query(
            "SELECT \"filename\", \"omschrijving\" from wfs." + TABLE + " where incident_nummer =?",
            new MapListHandler(), incidentNummer);

    return rows;
}

From source file:nl.opengeogroep.safetymaps.server.stripes.NLExtractBagAddressSearchActionBean.java

public Resolution search() {
    try {//  w w  w .  j a  v a 2 s .co  m
        JSONArray result = new JSONArray();

        if (term != null && term.trim().length() > 2) {
            term = term.trim().toLowerCase();

            QueryRunner qr = DB.bagQr();

            String where;
            String param;

            boolean isPostCode = term.matches("^[0-9]{4}[a-z]{0,2}$");
            if (term.indexOf(' ') != -1 || isPostCode) {
                where = "(textsearchable_adres @@ to_tsquery('dutch',?)) ";
                param = term.replaceAll("\\s+", "&");
            } else {
                where = "openbareruimtenaam like ?";
                param = term.substring(0, 1).toUpperCase() + term.substring(1) + "%";
            }

            List<Map<String, Object>> rows = qr.query(
                    "select openbareruimtenaam || ' ' || "
                            + "CASE WHEN lower(woonplaatsnaam) = lower(gemeentenaam) THEN woonplaatsnaam "
                            + "ELSE woonplaatsnaam || ', ' || gemeentenaam END as display_name, "
                            + "st_x(st_centroid(st_collect(geopunt))) as lon, "
                            + "st_y(st_centroid(st_collect(geopunt))) as lat " + "from bag_actueel.adres where "
                            + where + "group by woonplaatsnaam, gemeentenaam, openbareruimtenaam limit 10",
                    new MapListHandler(), param);

            if (rows.size() == 1) {
                // Only one grouped by result, get more details

                rows = qr.query("select openbareruimtenaam || ' ' || "
                        + "COALESCE(CAST(huisnummer as varchar) || ' ','') || "
                        + "COALESCE(CAST(huisletter as varchar) || ' ','') || "
                        + "COALESCE(CAST(huisnummertoevoeging as varchar) || ' ','') || "
                        + "COALESCE(CAST(postcode as varchar) || ' ','') || "
                        + "CASE WHEN lower(woonplaatsnaam) = lower(gemeentenaam) THEN woonplaatsnaam "
                        + "ELSE woonplaatsnaam || ', ' || gemeentenaam END as display_name, "
                        + "st_x(st_centroid(st_collect(geopunt))) as lon, "
                        + "st_y(st_centroid(st_collect(geopunt))) as lat " + "from bag_actueel.adres where "
                        + where
                        + "group by woonplaatsnaam, gemeentenaam, openbareruimtenaam, huisnummer, huisletter, huisnummertoevoeging, postcode limit 10",
                        new MapListHandler(), param);
            }

            for (Map<String, Object> row : rows) {
                result.put(rowToJson(row, false, false));
            }
        }

        return new StreamingResolution("application/json", new StringReader(result.toString(4)));
    } catch (Exception e) {
        return new ErrorMessageResolution(
                logExceptionAndReturnJSONObject(log, "Error searching BAG database for address", e)
                        .toString(4));

    }
}

From source file:org.culturegraph.mf.sql.util.DataSet.java

public DataSet(final Database database, final String query) throws SQLException {
    data = new QueryRunner().query(database.getConnection(), query, new MapListHandler());
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * ???????????.<br>//  w w  w.  j  a v a 2  s.  co  m
 *
 * @param targetTableName ??
 * @param pKeyConcatStr (?)
 * @retrun 
 */
public boolean exsistData(String targetTableName, String pKeyConcatStr) throws Exception {
    boolean ret = false;
    try {

        // ?
        List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(targetTableName);
        Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(targetTableName, true);

        if (primaryKeyColumnNames == null || primaryKeyColumnNames.size() == 0)
            return false;

        // ?
        pKeyConcatStr = pKeyConcatStr.replace(".json", "");
        String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep);

        if (keyStrSplit.length != primaryKeyColumnNames.size())
            return false;

        // ??
        StringBuilder queryBuf = new StringBuilder();
        queryBuf.append("select count(*) as cnt from ");
        queryBuf.append(targetTableName);
        queryBuf.append(" where ");

        // ()?
        Object[] params = new Object[primaryKeyColumnNames.size()];

        String whereSep = "";
        for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) {
            Map<String, Object> meta = allColumnMeta.get(primaryKeyColumnNames.get(idx));
            params[idx] = DbmfsUtil.deserializeType(keyStrSplit[idx], (String) meta.get("javaTypeName"));

            queryBuf.append(whereSep);
            queryBuf.append(primaryKeyColumnNames.get(idx));
            queryBuf.append(" = ? ");
            whereSep = " and ";
        }

        ResultSetHandler<?> resultSetHandler = new MapListHandler();
        QueryRunner qr = new QueryRunner();

        // 
        //System.out.println(queryBuf.toString());
        //System.out.println(params[0]);
        List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn,
                queryBuf.toString(), resultSetHandler, params);

        Map countRet = queryResult.get(0);
        Long count = (Long) countRet.get("cnt");

        if (count.longValue() == 1)
            ret = true;

    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
    return ret;
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * ??????Map????.<br>/* w ww  . j a va2  s .c  o  m*/
 * ??????null?<br>
 *
 * @param targetTableName ??
 * @param pKeyConcatStr (?)
 * @return ?
 */
public List<Map<String, Object>> getDataList(String targetTableName, String pKeyConcatStr) throws Exception {

    List<Map<String, Object>> queryResult = null;

    try {

        // ?

        StringBuilder cacheKeyBuf = new StringBuilder(50);
        cacheKeyBuf.append(targetTableName).append(tableNameSep).append(pKeyConcatStr);

        Object cacheDataMap = dataCacheFolder.get(cacheKeyBuf.toString());
        if (cacheDataMap != null) {
            if (cacheDataMap instanceof List) {

                return (List<Map<String, Object>>) cacheDataMap;
            } else if (cacheDataMap instanceof Map) {

                List<Map<String, Object>> cacheList = new ArrayList();
                cacheList.add((Map<String, Object>) cacheDataMap);
                return cacheList;
            }
        }

        // ?
        List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(targetTableName);
        Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(targetTableName, true);

        if (primaryKeyColumnNames == null || primaryKeyColumnNames.size() == 0)
            return null;

        // ?
        String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep);

        // ??????????????
        if (primaryKeyColumnNames.size() != keyStrSplit.length)
            return null;

        // ??
        StringBuilder queryBuf = new StringBuilder();
        queryBuf.append("select * from ");
        queryBuf.append(targetTableName);
        queryBuf.append(" where ");

        // ()?
        Object[] params = new Object[primaryKeyColumnNames.size()];

        String whereSep = "";
        for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) {

            Map<String, Object> meta = allColumnMeta.get(primaryKeyColumnNames.get(idx));
            params[idx] = DbmfsUtil.deserializeType(keyStrSplit[idx], (String) meta.get("javaTypeName"));
            queryBuf.append(whereSep);
            queryBuf.append(primaryKeyColumnNames.get(idx));
            queryBuf.append(" = ? ");
            whereSep = " and ";
        }

        ResultSetHandler<?> resultSetHandler = new MapListHandler();
        QueryRunner qr = new QueryRunner();

        // 
        queryResult = (List<Map<String, Object>>) qr.query(injectConn, queryBuf.toString(), resultSetHandler,
                params);

        if (queryResult == null || queryResult.size() < 1)
            return null;

        // ?????
        String metaSerializeString = serializeMetaInfomation(allColumnMeta);

        for (Map resultData : queryResult) {
            resultData.put(tableMetaInfoKey, metaSerializeString);
        }

        dataCacheFolder.put(cacheKeyBuf.toString(), queryResult);
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }

    return queryResult;
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * ??Map????.<br>/*from   w  w  w.  j a va2 s . c o  m*/
 * ??????null?<br>
 *
 * @param targetTableName ??
 * @param pKeyConcatStr (?)
 * @return ?
 */
public List<Map<String, Object>> getDataList(String query, List<String> primaryKeyColumnNames,
        String pKeyConcatStr) throws Exception {

    List<Map<String, Object>> queryResult = null;

    try {
        // ?
        String[] keyStrSplit = pKeyConcatStr.split(primaryKeySep);

        if (keyStrSplit.length != primaryKeyColumnNames.size())
            return null;

        // ??
        StringBuilder queryBuf = new StringBuilder();
        queryBuf.append("select * from (");
        queryBuf.append(query);
        queryBuf.append(") t1 where ");

        // ()?
        Object[] params = new Object[primaryKeyColumnNames.size()];

        String whereSep = "";
        // ???bindquery?????????String??
        // (TODONo1)??select????
        for (int idx = 0; idx < primaryKeyColumnNames.size(); idx++) {

            params[idx] = keyStrSplit[idx];
            queryBuf.append(whereSep);
            queryBuf.append("t1.");
            queryBuf.append(primaryKeyColumnNames.get(idx));
            queryBuf.append(" = ? ");
            whereSep = " and ";
        }

        ResultSetHandler<?> resultSetHandler = new MapListHandler();
        QueryRunner qr = new QueryRunner();

        // 
        queryResult = (List<Map<String, Object>>) qr.query(injectConn, queryBuf.toString(), resultSetHandler,
                params);

        if (queryResult == null || queryResult.size() < 1)
            return null;

        for (Map resultData : queryResult) {
            resultData.put(tableMetaInfoKey, "");
        }

    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
    return queryResult;
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * ????????.<br>/*  w w w  .ja va  2  s .  c o m*/
 *
 * @param tableName ??
 * @return ??????
 */
public List<String> getRecordKeyList(String tableName, int offset, int limit) throws Exception {
    List<String> resultList = new ArrayList();

    try {

        // ?
        List<String> primaryKeyColumnNames = getPrimaryKeyColumnNames(tableName);
        // ????????
        if (primaryKeyColumnNames.size() == 0)
            return resultList;

        // ??select???????
        // TODO:???????????
        // SQL??
        String query = createAllColumnQuery(tableName, offset, limit);
        //            String query = createPrimaryKeyQuery(tableName, primaryKeyColumnNames);
        ResultSetHandler<?> resultSetHandler = new MapListHandler();
        QueryRunner qr = new QueryRunner();

        // 
        List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn, query,
                resultSetHandler);

        // ?????
        Map<String, Map<String, Object>> allColumnMeta = getAllColumnMeta(tableName, true);
        String metaSerializeString = serializeMetaInfomation(allColumnMeta);

        // ??????
        for (int idx = 0; idx < queryResult.size(); idx++) {

            Map data = queryResult.get(idx);
            StringBuilder queryDataStrBuf = new StringBuilder(40);

            String pKeyStrSep = "";
            for (int pIdx = 0; pIdx < primaryKeyColumnNames.size(); pIdx++) {
                queryDataStrBuf.append(pKeyStrSep);
                queryDataStrBuf.append(data.get(primaryKeyColumnNames.get(pIdx)));
                pKeyStrSep = DatabaseAccessor.primaryKeySep;
            }

            data.put(tableMetaInfoKey, metaSerializeString);

            List cachePutList = new ArrayList();
            cachePutList.add(data);
            dataCacheFolder.put(tableName + tableNameSep + queryDataStrBuf.toString(), cachePutList);
            resultList.add(queryDataStrBuf.toString());
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
    return resultList;
}

From source file:org.dbmfs.DatabaseAccessor.java

/**
 * ?????????????.<br>//from   w w w  . j a  va 2s.co  m
 *
 * @param query (Select?)
 * @param primaryKeyColumnNames ?????
 * @return ??????
 */
public List<String> getRecordKeyList(String query, List<String> primaryKeyColumnNames, int offset, int limit)
        throws Exception {
    List<String> resultList = new ArrayList();
    try {

        ResultSetHandler<?> resultSetHandler = new MapListHandler();
        QueryRunner qr = new QueryRunner();

        // ???limit offset 
        String executeQuery = createAllColumnQuery("(" + query + ")", offset, limit);
        // 
        List<Map<String, Object>> queryResult = (List<Map<String, Object>>) qr.query(injectConn, query,
                resultSetHandler);

        // ??????
        for (int idx = 0; idx < queryResult.size(); idx++) {

            Map data = queryResult.get(idx);
            StringBuilder queryDataStrBuf = new StringBuilder(40);

            String pKeyStrSep = "";
            for (int pIdx = 0; pIdx < primaryKeyColumnNames.size(); pIdx++) {
                queryDataStrBuf.append(pKeyStrSep);
                queryDataStrBuf.append(data.get(primaryKeyColumnNames.get(pIdx)));
                // TODO???data.get????queryprimaryKeyColumnNames.get(pIdx)???
                //       ?(TODONo1)??
                pKeyStrSep = DatabaseAccessor.primaryKeySep;
            }

            /*
                            List cachePutList = new ArrayList();
                            cachePutList.add(data);
                            dataCacheFolder.put(tableName + tableNameSep + queryDataStrBuf.toString(), cachePutList);*/
            resultList.add(queryDataStrBuf.toString());
        }

    } catch (Exception e) {
        e.printStackTrace();
        throw e;
    }
    return resultList;
}

From source file:org.mule.module.db.integration.DbTestUtil.java

public static List<Map<String, String>> selectData(String query, DataSource dataSource) throws SQLException {
    QueryRunner qr = new QueryRunner(dataSource);

    @SuppressWarnings({ "unchecked" })
    List<Map<String, String>> result = (List<Map<String, String>>) qr.query(query, new MapListHandler());

    return result;
}

From source file:org.openlogics.gears.jdbc.SelectTest.java

@Test
public void testPlainQuery() {
    DataStore ds = new JdbcDataStore(basicDataSource);
    try {/*from  ww  w .j  a  va2 s  .c om*/
        List<Map<String, Object>> list = ds.select(
                new Query("select * from FOO where FOO_id between ? AND ? ", 1, 3), new MapListHandler());
        assertEquals(3, list.size());
    } catch (SQLException e) {
        e.printStackTrace();
    }
}