コード例 #1
0
ファイル: GenericLuceneDAO.java プロジェクト: TheCorp/mob
  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;
  }
コード例 #2
0
ファイル: GenericLuceneDAO.java プロジェクト: TheCorp/mob
  /** @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;
  }