private static Set<Long> getFeedItemIdsFromArgument(Function function) {
    if (function.getLhsOperand().length == 1
        && function.getLhsOperand(0) instanceof RequestContextOperand) {
      RequestContextOperand requestContextOperand =
          (RequestContextOperand) function.getLhsOperand(0);
      if (RequestContextOperandContextType.FEED_ITEM_ID.equals(
          requestContextOperand.getContextType())
          && FunctionOperator.IN.equals(function.getOperator())) {
        return Arrays.stream(function.getRhsOperand())
            .filter(ConstantOperand.class::isInstance)
            .map(argument -> ((ConstantOperand) argument).getLongValue())
            .collect(Collectors.toSet());
      }
    }

    return new HashSet<>();
  }
private static Set < Long > getFeedItemIdsFromArgument ( Function function ) { if ( function . getLhsOperand ( ) . length == 1 && function . getLhsOperand ( 0 ) instanceof RequestContextOperand ) { RequestContextOperand requestContextOperand = ( RequestContextOperand ) function . getLhsOperand ( 0 ) ; if ( RequestContextOperandContextType . FEED_ITEM_ID . equals ( requestContextOperand . getContextType ( ) ) && FunctionOperator . IN . equals ( function . getOperator ( ) ) ) { return Arrays . stream ( function . getRhsOperand ( ) ) . filter ( ConstantOperand . class :: isInstance ) . map ( argument -> ( ( ConstantOperand ) argument ) . getLongValue ( ) ) . collect ( Collectors . toSet ( ) ) ; } } return new HashSet < > ( ) ; }
Gets the set of feed item IDs from the function if it is of the form:
<code>IN(FEED_ITEM_ID,{xxx,xxx})</code>. Otherwise, returns an empty set.