List of usage examples for org.springframework.jdbc.support.rowset SqlRowSet next
boolean next() throws InvalidResultSetAccessException;
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; }