SQLを学んだうえで、もう一度Aipoのソースコードを見てみると、タイムラインのリストの取得は、TimelinaeUtils.javaの中の、getTimelineListメソッドの中で行われているのではないかと仮説を立てました。 そこでgettimelinlistの中を確認してみることにしました。 selectインスタンスで、eip_t_timelineテーブルから検索をしていると仮説を立てました。 そこで検索先を「ファイル添付」を選択した時にeip_t_timeline_fileに変更し、「リンクシェア」を選択したときにeip_t_timeline_urlに変更されるという命令をgetTimelineListメッソドの中に組み込むことにしました。 その前に、TimelineSelectData.java内に以下の文を追加しました。
else if ("link".equals(target_display_name)) { displayParam = "L"; } else if ("file".equals(target_display_name)) { displayParam = "FILE"; }
これで「リンクシェア」を選択したときにdisplayParamが”L”になり、「ファイル添付」を選択したときにdisplayParamが”FILE”になるようになりました。 このdisplayParamはgetTimelineListの引数の中に定義されていたため、これを条件分岐に利用します。 そして以下の文を追加しました。
if("L".equals(displayParam)){ select.append(" SELECT eip_t_timeline.timeline_id FROM eip_t_timeline INTERSECT SELECT eip_t_timeline_url.timeline_id FROM eip_t_timeline_url,"); } else if (displayParam.equals("FILE")) { select.append(" SELECT eip_t_timeline.timeline_id FROM eip_t_timeline INTERSECT SELECT eip_t_timeline_file.timeline_id FROM eip_t_timeline_file,"); } else{ select.append(" eip_t_timeline.timeline_id,"); }
しかし上手く表示出来ませんでした。 次回は最終日ですが、今のところ思いつくような打開策はないのでかなりピンチです。 がむしゃらに当たって砕けたいとおもいます。