private Post makePost(ResultSet rs) throws SQLException { Post p = new SearchPost(); p.setId(rs.getInt("post_id")); p.setForumId(rs.getInt("forum_id")); p.setTopicId(rs.getInt("topic_id")); p.setUserId(rs.getInt("user_id")); p.setTime(new Date(rs.getTimestamp("post_time").getTime())); p.setText(this.readPostTextFromResultSet(rs)); p.setBbCodeEnabled(rs.getInt("enable_bbcode") == 1); p.setSmiliesEnabled(rs.getInt("enable_smilies") == 1); String subject = rs.getString("post_subject"); if (subject == null || subject.trim().length() == 0) { subject = rs.getString("topic_title"); } p.setSubject(subject); return p; }
/** @see com.mob.forum.dao.LuceneDAO#getPostsData(int[]) */ public List getPostsData(int[] postIds, String orderDir) { if (postIds.length == 0) { return new ArrayList(); } List l = new ArrayList(); PreparedStatement p = null; ResultSet rs = null; try { String sql = SystemGlobals.getSql("SearchModel.getPostsDataForLucene"); sql = sql.replaceAll(":posts:", this.buildInClause(postIds)); if ("ASC".equals(orderDir)) { sql = sql + " ORDER BY p.post_id"; } else { sql = sql + " ORDER BY p.post_id DESC"; } p = JForumExecutionContext.getConnection().prepareStatement(sql); rs = p.executeQuery(); while (rs.next()) { Post post = this.makePost(rs); post.setPostUsername(rs.getString("username")); l.add(post); } } catch (SQLException e) { throw new DatabaseException(e); } finally { DbUtils.close(rs, p); } return l; }