タイムラインの絞り込み機能の実装

hiwm0126 17views 更新:2017年7月18日

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,");
}

しかし上手く表示出来ませんでした。 次回は最終日ですが、今のところ思いつくような打開策はないのでかなりピンチです。 がむしゃらに当たって砕けたいとおもいます。

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません