From: rk Date: Wed, 26 Nov 2003 19:23:16 +0000 (+0000) Subject: simplyfications and rewrite with relational sql X-Git-Tag: LATEST_MERGED_1_1~244 X-Git-Url: http://erislabs.net/gitweb/?a=commitdiff_plain;h=a0261d92a507a3c77f1581ea0f132a5e306fe1f9;p=mir.git simplyfications and rewrite with relational sql --- diff --git a/source/mircoders/storage/DatabaseCommentToMedia.java b/source/mircoders/storage/DatabaseCommentToMedia.java index 92a0a454..b7976ecd 100755 --- a/source/mircoders/storage/DatabaseCommentToMedia.java +++ b/source/mircoders/storage/DatabaseCommentToMedia.java @@ -48,7 +48,7 @@ import mircoders.entity.EntityUploadedMedia; * implements abstract DB connection to the comment_x_media SQL table * * @author RK, mir-coders group - * @version $Id: DatabaseCommentToMedia.java,v 1.3.2.4 2003/11/26 19:21:06 rk Exp $ + * @version $Id: DatabaseCommentToMedia.java,v 1.3.2.5 2003/11/26 19:23:16 rk Exp $ * */ @@ -351,43 +351,24 @@ public class DatabaseCommentToMedia extends Database implements StorageObject{ public EntityList getComment(EntityUploadedMedia media) throws StorageObjectFailure { + EntityList returnList = null; if (media != null) { - // TODO rewrite as relational sql - String id = media.getId(); - String select = "select comment_id from " + theTable + " where media_id=" + - id; - // execute select statement - Connection con = null; - Statement stmt = null; + String id = media.getId(); + Vector extraTables = new Vector(); + extraTables.add(theTable + " cxm"); + + String mediaSelect = "cxm.comment_id=c.id and cxm.media_id="+id; try { - con = getPooledCon(); - // should be a preparedStatement because is faster - stmt = con.createStatement(); - ResultSet rs = executeSql(stmt, select); - if (rs != null) { - String mediaSelect = "id IN ("; - boolean first = true; - while (rs.next()) { - if (first == false) - mediaSelect += ","; - mediaSelect += rs.getString(1); - first = false; - } - mediaSelect += ")"; - if (first == false) - returnList = DatabaseComment.getInstance().selectByWhereClause( - mediaSelect, -1); - } + returnList = DatabaseComment.getInstance().selectByWhereClause("c", + extraTables, mediaSelect, "c.id" ); + } catch (Exception e) { logger.error("-- get comment failed"); throw new StorageObjectFailure("-- get comment failed -- ", e); } - finally { - freeConnection(con, stmt); - } } return returnList; }