Aipoの各ポートレットで絞込みを行う

各ポートレットでは部署やカテゴリーで絞込みを行って表示することが出来ます。

カテゴリーや部署を選択するとcurrent_filterMapのcategoryまたはpostに選択したものがセットされます。

その後各ポートレットのSelectDataクラスのbuildSelectQueryForFilter内でcurrent_filterMapに値がセットされていたら、

必要なExpressionを作成して、 query.andQualifierを行います。

掲示板で部署を選択した場合は以下のように絞込みを行っています。

if (current_filterMap.containsKey("post")) {
    

      List<String> postIds = current_filterMap.get("post");
   HashSet<Integer> userIds = new HashSet<Integer>();
        for (String post : postIds) {
          List<Integer> userId = ALEipUtils.getUserIds(post);
          userIds.addAll(userId);
        }
        if (userIds.isEmpty()) {
          userIds.add(-1);
        }
        Expression exp =
          ExpressionFactory.inExp(EipTMsgboardTopic.OWNER_ID_PROPERTY, userIds);
        query.andQualifier(exp);