Example usage for org.springframework.jdbc.support.rowset SqlRowSet next

List of usage examples for org.springframework.jdbc.support.rowset SqlRowSet next

Introduction

In this page you can find the example usage for org.springframework.jdbc.support.rowset SqlRowSet next.

Prototype

boolean next() throws InvalidResultSetAccessException;

Source Link

Document

Move the cursor to the next row.

Usage

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

public Sentence loadSentence(int sentenceId) {
    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    String sql = "SELECT " + SELECT_SENTENCE + ", " + SELECT_PHRASE + " FROM ftb_phrase p, ftb_sentence s"
            + " WHERE sentence_id=:sentence_id AND phrase_id=sentence_id";
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    paramSource.addValue("sentence_id", sentenceId);

    LOG.info(sql);/*from w ww .j  av  a2 s. co  m*/
    TreebankDaoImpl.LogParameters(paramSource);
    Sentence sentence = null;
    SqlRowSet rowSet = jt.queryForRowSet(sql, paramSource);

    if (rowSet.next()) {
        PhraseMapper phraseMapper = new PhraseMapper(this.treebankServiceInternal);
        PhraseInternal phrase = (PhraseInternal) phraseMapper.mapRow(rowSet);
        SentenceMapper sentenceMapper = new SentenceMapper(this.treebankServiceInternal, phrase);
        sentence = sentenceMapper.mapRow(rowSet);
    }

    return sentence;
}

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

public List<Sentence> findSentences(TreebankFile treebankFile) {
    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    String sql = "SELECT " + SELECT_SENTENCE + ", " + SELECT_PHRASE + " FROM ftb_sentence"
            + " INNER JOIN ftb_phrase ON phrase_id=sentence_id" + " WHERE sentence_file_id=:sentence_file_id"
            + " ORDER BY sentence_id";
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    paramSource.addValue("sentence_file_id", treebankFile.getId());

    LOG.info(sql);/*from w ww .  ja va2  s. c o  m*/
    TreebankDaoImpl.LogParameters(paramSource);

    List<Sentence> sentences = new ArrayList<Sentence>();
    SqlRowSet rowSet = jt.queryForRowSet(sql, paramSource);

    while (rowSet.next()) {
        PhraseMapper phraseMapper = new PhraseMapper(this.treebankServiceInternal);
        PhraseInternal phrase = (PhraseInternal) phraseMapper.mapRow(rowSet);
        SentenceMapper sentenceMapper = new SentenceMapper(this.treebankServiceInternal, phrase);
        Sentence sentence = sentenceMapper.mapRow(rowSet);
        sentences.add(sentence);
    }
    return sentences;
}

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

public Sentence loadFullSentence(int sentenceId) {
    PhraseMapper phraseMapper = new PhraseMapper(this.treebankServiceInternal);

    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    String sql = "SELECT " + SELECT_SENTENCE + ", " + SELECT_PHRASE + " FROM ftb_phrase p, ftb_sentence s"
            + " WHERE sentence_id=:sentence_id AND phrase_id=sentence_id";
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    paramSource.addValue("sentence_id", sentenceId);

    LOG.info(sql);//  ww w  .ja  va2  s  .  c  om
    TreebankDaoImpl.LogParameters(paramSource);
    Sentence sentence = null;
    SqlRowSet rowSet = jt.queryForRowSet(sql, paramSource);

    if (rowSet.next()) {
        PhraseInternal phrase = (PhraseInternal) phraseMapper.mapRow(rowSet);
        SentenceMapper sentenceMapper = new SentenceMapper(this.treebankServiceInternal, phrase);
        sentence = sentenceMapper.mapRow(rowSet);
        this.treebankServiceInternal.getObjectCache().putEntity(Phrase.class, sentence.getId(), sentence);

    }

    sql = "SELECT " + SELECT_PHRASE + " FROM ftb_phrase "
            + " INNER JOIN ftb_phrase_child ON pchild_child_id = phrase_id"
            + " WHERE pchild_phrase_id = :sentence_id" + " ORDER BY phrase_depth, phrase_position";

    paramSource = new MapSqlParameterSource();
    paramSource.addValue("sentence_id", sentenceId);

    LOG.info(sql);
    TreebankDaoImpl.LogParameters(paramSource);

    rowSet = jt.queryForRowSet(sql, paramSource);

    List<PhraseInternal> phrases = new ArrayList<PhraseInternal>();

    while (rowSet.next()) {
        PhraseInternal phrase = (PhraseInternal) phraseMapper.mapRow(rowSet);
        phrase = (PhraseInternal) this.treebankServiceInternal.getObjectCache().getOrPutEntity(Phrase.class,
                phrase.getId(), phrase);
        phrases.add(phrase);
    }

    for (PhraseInternal phrase : phrases) {
        PhraseInternal parent = (PhraseInternal) phrase.getParent();
        if (parent != null) {
            parent.getChildrenDB().add(phrase);
        }
    }

    List<PhraseUnit> phraseUnits = this.findAllPhraseUnits(sentence);

    PhraseInternal sentenceInternal = (PhraseInternal) sentence;

    for (PhraseUnit phraseUnit : phraseUnits) {
        PhraseInternal phrase = (PhraseInternal) phraseUnit.getPhrase();
        PhraseUnitInternal punit = (PhraseUnitInternal) phraseUnit;
        phrase.getPhraseUnitsDB().add(punit);
        sentenceInternal.getAllPhraseUnitsDB().add(phraseUnit);
    }

    this.findAllWordsAndLemmas(sentence, phraseUnits);

    this.treebankServiceInternal.getObjectCache().clearCache(Phrase.class);

    return sentence;
}

From source file:com.krawler.crm.reportBuilder.bizservice.ReportBuilderServiceImpl.java

public JSONObject getReportJSON(int moduleId, SqlRowSet rs, HashMap<String, DefaultMasterItem> defaultMasterMap,
        HashMap<String, FieldComboData> customComboMap, Map<String, List<CrmProduct>> productsMap,
        Map ownersMap, HashMap<String, String> dataIndexReftableMap, boolean detailFlag,
        Boolean productColFlag) {
    JSONObject jb = new JSONObject();
    try {//from w w  w  .  jav a 2 s  .  c  o  m
        SqlRowSetMetaData rsmd = rs.getMetaData();
        while (rs.next()) {
            String primaryKeyVal = "";
            JSONObject jobj = new JSONObject();
            for (int i = 1; i <= rsmd.getColumnCount(); i++) {
                String columnLabel = rsmd.getColumnLabel(i);
                //                    boolean linkFlag = !detailFlag && customReportObj.isGroupflag() &&  columnLabel.equals(customReportObj.getGroupfield());
                if (rs.getObject(i) != null) {
                    if (columnLabel.equals(Constants.Crm_leadid) || columnLabel.equals(Constants.Crm_contactid)
                            || columnLabel.equals(Constants.Crm_accountid)
                            || columnLabel.equals(Constants.Crm_caseid)
                            || columnLabel.equals(Constants.Crm_opportunityid)
                            || columnLabel.equals(Constants.Crm_productid)) {
                        primaryKeyVal = rs.getObject(i).toString();
                    }

                    if (dataIndexReftableMap.containsKey(columnLabel)
                            && dataIndexReftableMap.get(columnLabel).equals("defaultmasteritem")) {
                        if (defaultMasterMap.containsKey(rs.getObject(i))) {
                            jobj.put(columnLabel, defaultMasterMap.get(rs.getObject(i)).getValue());
                            jobj.put(columnLabel + "_id", rs.getObject(i));
                        } else {
                            jobj.put(columnLabel, "");
                        }
                    } else if (dataIndexReftableMap.containsKey(columnLabel)
                            && dataIndexReftableMap.get(columnLabel).equals("users")) {
                        User userObj = (User) kwlCommonTablesDAOObj
                                .getClassObject("com.krawler.common.admin.User", rs.getObject(i).toString());
                        if (userObj != null) {
                            jobj.put(columnLabel, userObj.getFullname());
                            jobj.put(columnLabel + "_id", rs.getObject(i));
                        } else {
                            jobj.put(columnLabel, "(Blank)");
                        }
                    } else if (dataIndexReftableMap.containsKey(columnLabel)
                            && dataIndexReftableMap.get(columnLabel).equals(Constants.Crm_account)) {
                        CrmAccount accObj = (CrmAccount) kwlCommonTablesDAOObj
                                .getClassObject(Constants.Crm_account_classpath, rs.getObject(i).toString());
                        if (accObj != null) {
                            jobj.put(columnLabel, accObj.getAccountname());
                            jobj.put(columnLabel + "_id", rs.getObject(i));
                        } else {
                            jobj.put(columnLabel, rs.getObject(i));
                        }
                    } else if (dataIndexReftableMap.containsKey(columnLabel)
                            && dataIndexReftableMap.get(columnLabel).equals("fieldcombodata")) {
                        String[] comboIds = rs.getObject(i).toString().split(",");
                        String comboValue = " ";
                        String comboValueId = "";
                        for (int cnt = 0; cnt < comboIds.length; cnt++) {
                            String comboid = comboIds[cnt];
                            if (customComboMap.containsKey(comboid)) {
                                comboValue += customComboMap.get(comboid).getValue() + ",";
                                comboValueId += customComboMap.get(comboid).getId() + ",";
                            }
                        }
                        jobj.put(columnLabel, comboValue.substring(0, comboValue.length() - 1));
                        jobj.put(columnLabel + "_id",
                                (comboValueId.length() > 0
                                        ? comboValueId.substring(0, comboValueId.length() - 1)
                                        : comboValueId));
                    } else {
                        jobj.put(columnLabel, rs.getObject(i));
                    }
                } else {
                    jobj.put(columnLabel, "");
                }
            }
            if (productColFlag && productsMap.containsKey(primaryKeyVal)) {
                List<CrmProduct> crmProducts = productsMap.get(primaryKeyVal);
                String productNames = "";
                for (CrmProduct product : crmProducts) {
                    productNames += product.getProductname() + ", ";
                }
                String key = "";
                productNames = productNames.substring(0, productNames.lastIndexOf(","));
                switch (moduleId) {
                case 1:
                    key = Constants.Crm_account_product_key;
                    break;
                case 2:
                    key = Constants.Crm_lead_product_key;
                    break;
                case 3:
                    key = Constants.Crm_case_product_key;
                    break;
                case 5:
                    key = Constants.Crm_opportunity_product_key;
                    break;
                }
                jobj.put(key, productNames);
            }
            jb.append("data", jobj);
        }
    } catch (Exception ex) {
        LOGGER.warn(ex.getMessage(), ex);
    }
    return jb;
}

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

public List<List<Entity>> findStuff(List<String> tablesToReturn, List<String> tables, List<String> conditions,
        List<String> orderBy) {
    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    MapSqlParameterSource paramSource = new MapSqlParameterSource();

    List<String> tableNames = new ArrayList<String>();
    List<String> aliases = new ArrayList<String>();

    for (String tableToReturn : tablesToReturn) {
        StringTokenizer st = new StringTokenizer(tableToReturn, " ", false);
        String tableName = st.nextToken().trim();
        st.nextElement(); // skip the word "as"
        String alias = st.nextToken().trim();
        tableNames.add(tableName);/*from   w  w w . j a v a 2  s.  com*/
        aliases.add(alias);
    }

    String sql = "SELECT DISTINCT ";
    boolean firstOne = true;
    int i = 0;
    for (String tableName : tableNames) {
        String alias = aliases.get(i++);
        List<String> columns = null;
        if (tableName.equals("ftb_phrase"))
            columns = DaoUtils.getSelectArray(SELECT_PHRASE, alias);
        else if (tableName.equals("ftb_phrase_unit"))
            columns = DaoUtils.getSelectArray(SELECT_PHRASE_UNIT, alias);
        else if (tableName.equals("ftb_word"))
            columns = DaoUtils.getSelectArray(SELECT_WORD, alias);
        else if (tableName.equals("ftb_sentence"))
            columns = DaoUtils.getSelectArray(SELECT_SENTENCE, alias);
        else
            throw new TreebankException("Unsupported  table for findStuff: " + tableName);

        for (String column : columns) {
            if (firstOne) {
                sql += column;
                firstOne = false;
            } else
                sql += ", " + column;
        }
    }

    firstOne = true;
    for (String table : tables) {
        if (firstOne) {
            sql += " FROM " + table;
            firstOne = false;
        } else
            sql += ", " + table;
    }
    firstOne = true;
    for (String condition : conditions) {
        if (firstOne) {
            sql += " WHERE " + condition;
            firstOne = false;
        } else {
            sql += " AND " + condition;
        }
    }

    if (orderBy.size() > 0) {
        firstOne = true;
        for (String column : orderBy) {
            if (firstOne) {
                sql += " ORDER BY " + column;
                firstOne = false;
            } else {
                sql += ", " + column;
            }
        }
    }
    LOG.info(sql);

    SqlRowSet rowSet = jt.queryForRowSet(sql, paramSource);
    List<List<Entity>> stuff = new ArrayList<List<Entity>>();
    while (rowSet.next()) {
        List<Entity> oneRow = new ArrayList<Entity>();
        i = 0;
        for (String tableName : tableNames) {
            String alias = aliases.get(i++);
            Entity entity = null;
            if (tableName.equals("ftb_phrase")) {
                PhraseMapper phraseMapper = new PhraseMapper(alias, this.treebankServiceInternal);
                Phrase phrase = phraseMapper.mapRow(rowSet);
                entity = phrase;
            } else if (tableName.equals("ftb_phrase_unit")) {
                PhraseUnitMapper phraseUnitMapper = new PhraseUnitMapper(alias, this.treebankServiceInternal);
                PhraseUnit phraseUnit = phraseUnitMapper.mapRow(rowSet);
                entity = phraseUnit;
            } else if (tableName.equals("ftb_word")) {
                WordMapper wordMapper = new WordMapper(alias, this.treebankServiceInternal);
                Word word = wordMapper.mapRow(rowSet);
                entity = word;
            }
            oneRow.add(entity);
        }
        i = 0;
        for (String tableName : tableNames) {
            String alias = aliases.get(i++);
            if (tableName.equals("ftb_sentence")) {
                // need to replace the phrase already created with a sentence
                int sentenceId = rowSet.getInt(alias + "_sentence_id");
                PhraseInternal sentencePhrase = null;
                for (Entity entity : oneRow) {
                    if (entity instanceof PhraseInternal) {
                        if (entity.getId() == sentenceId) {
                            sentencePhrase = (PhraseInternal) entity;
                            break;
                        }
                    }
                }
                if (sentencePhrase == null)
                    throw new TreebankException("Cannot return ftb_sentence without associated ftb_phrase");
                SentenceMapper sentenceMapper = new SentenceMapper(alias, this.treebankServiceInternal,
                        sentencePhrase);
                Sentence sentence = sentenceMapper.mapRow(rowSet);
                oneRow.remove(sentencePhrase);
                oneRow.add(sentence);
            }
        }
        stuff.add(oneRow);
    }
    return stuff;
}

From source file:com.joliciel.frenchTreebank.TreebankDaoImpl.java

@Override
public void findAllWordsAndLemmas(Phrase phrase, List<? extends PhraseUnit> phraseUnits) {
    NamedParameterJdbcTemplate jt = new NamedParameterJdbcTemplate(this.getDataSource());
    String sql = "SELECT punit_id, w.word_id as w_word_id, w.word_text as w_word_text, w.word_original_text as w_word_original_text"
            + ", l.word_id as l_word_id, l.word_text as l_word_text, l.word_original_text as l_word_original_text"
            + " FROM ftb_phrase_unit pu"
            + " INNER JOIN ftb_phrase_child pc ON punit_phrase_id = pchild_child_id AND pchild_phrase_id = :pchild_phrase_id"
            + " INNER JOIN ftb_word w ON punit_word_id = w.word_id"
            + " INNER JOIN ftb_word l ON punit_lemma_id = l.word_id" + " ORDER BY punit_position";
    MapSqlParameterSource paramSource = new MapSqlParameterSource();
    paramSource.addValue("pchild_phrase_id", phrase.getId());

    LOG.info(sql);//  www .j ava  2s.  co  m
    TreebankDaoImpl.LogParameters(paramSource);
    SqlRowSet rowSet = jt.queryForRowSet(sql, paramSource);
    WordMapper wordMapper = new WordMapper("w", this.treebankServiceInternal);
    WordMapper lemmaMapper = new WordMapper("l", this.treebankServiceInternal);
    while (rowSet.next()) {
        int phraseUnitId = rowSet.getInt("punit_id");
        Word word = wordMapper.mapRow(rowSet);
        Word lemma = lemmaMapper.mapRow(rowSet);
        for (PhraseUnit phraseUnit : phraseUnits) {
            if (phraseUnit.getId() == phraseUnitId) {
                PhraseUnitInternal iPhraseUnit = (PhraseUnitInternal) phraseUnit;
                iPhraseUnit.setWord(word);
                iPhraseUnit.setLemma(lemma);
                break;
            }
        }
    }
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private CommandProcessingResult checkMainResourceExistsWithinScope(final String appTable,
        final Long appTableId) {

    final String sql = dataScopedSQL(appTable, appTableId);
    logger.info("data scoped sql: " + sql);
    final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);

    if (!rs.next()) {
        throw new DatatableNotFoundException(appTable, appTableId);
    }//from w  ww  .j  a v  a 2 s .c o  m

    final Long officeId = getLongSqlRowSet(rs, "officeId");
    final Long groupId = getLongSqlRowSet(rs, "groupId");
    final Long clientId = getLongSqlRowSet(rs, "clientId");
    final Long savingsId = getLongSqlRowSet(rs, "savingsId");
    final Long LoanId = getLongSqlRowSet(rs, "loanId");
    final Long entityId = getLongSqlRowSet(rs, "entityId");

    if (rs.next()) {
        throw new DatatableSystemErrorException(
                "System Error: More than one row returned from data scoping query");
    }

    return new CommandProcessingResultBuilder() //
            .withOfficeId(officeId) //
            .withGroupId(groupId) //
            .withClientId(clientId) //
            .withSavingsId(savingsId) //
            .withLoanId(LoanId).withEntityId(entityId)//
            .build();
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

private String queryForApplicationTableName(final String datatable) {
    final String sql = "SELECT application_table_name FROM x_registered_table where registered_table_name = '"
            + datatable + "'";

    final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);

    String applicationTableName = null;
    if (rs.next()) {
        applicationTableName = rs.getString("application_table_name");
    } else {/*from  w  w  w  .j  av  a 2 s. com*/
        throw new DatatableNotFoundException(datatable);
    }

    return applicationTableName;
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

@Override
public DatatableData retrieveDatatable(final String datatable) {

    // PERMITTED datatables
    final String sql = "select application_table_name, registered_table_name" + " from x_registered_table "
            + " where exists" + " (select 'f'" + " from m_appuser_role ur "
            + " join m_role r on r.id = ur.role_id" + " left join m_role_permission rp on rp.role_id = r.id"
            + " left join m_permission p on p.id = rp.permission_id" + " where ur.appuser_id = "
            + this.context.authenticatedUser().getId() + " and registered_table_name='" + datatable + "'"
            + " and (p.code in ('ALL_FUNCTIONS', 'ALL_FUNCTIONS_READ') or p.code = concat('READ_', registered_table_name))) "
            + " order by application_table_name, registered_table_name";

    final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);

    DatatableData datatableData = null;//from   w ww.  ja  v a 2 s  .  c  om
    while (rs.next()) {
        final String appTableName = rs.getString("application_table_name");
        final String registeredDatatableName = rs.getString("registered_table_name");
        final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
                .fillResultsetColumnHeaders(registeredDatatableName);

        datatableData = DatatableData.create(appTableName, registeredDatatableName, columnHeaderData);
    }

    return datatableData;
}

From source file:com.gst.infrastructure.dataqueries.service.ReadWriteNonCoreDataServiceImpl.java

@Override
public List<DatatableData> retrieveDatatableNames(final String appTable) {

    String andClause;//from  ww  w.  ja  v  a 2 s  . co  m
    if (appTable == null) {
        andClause = "";
    } else {
        andClause = " and application_table_name = '" + appTable + "'";
    }

    // PERMITTED datatables
    final String sql = "select application_table_name, registered_table_name" + " from x_registered_table "
            + " where exists" + " (select 'f'" + " from m_appuser_role ur "
            + " join m_role r on r.id = ur.role_id" + " left join m_role_permission rp on rp.role_id = r.id"
            + " left join m_permission p on p.id = rp.permission_id" + " where ur.appuser_id = "
            + this.context.authenticatedUser().getId()
            + " and (p.code in ('ALL_FUNCTIONS', 'ALL_FUNCTIONS_READ') or p.code = concat('READ_', registered_table_name))) "
            + andClause + " order by application_table_name, registered_table_name";

    final SqlRowSet rs = this.jdbcTemplate.queryForRowSet(sql);

    final List<DatatableData> datatables = new ArrayList<>();
    while (rs.next()) {
        final String appTableName = rs.getString("application_table_name");
        final String registeredDatatableName = rs.getString("registered_table_name");
        final List<ResultsetColumnHeaderData> columnHeaderData = this.genericDataService
                .fillResultsetColumnHeaders(registeredDatatableName);

        datatables.add(DatatableData.create(appTableName, registeredDatatableName, columnHeaderData));
    }

    return datatables;
}