Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 4E1BD200B6F for ; Wed, 24 Aug 2016 08:45:22 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 4CA22160AB1; Wed, 24 Aug 2016 06:45:22 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 43699160AA4 for ; Wed, 24 Aug 2016 08:45:21 +0200 (CEST) Received: (qmail 81418 invoked by uid 500); 24 Aug 2016 06:45:19 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 81407 invoked by uid 99); 24 Aug 2016 06:45:19 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 24 Aug 2016 06:45:19 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 6E9C31A7247 for ; Wed, 24 Aug 2016 06:45:19 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.426 X-Spam-Level: *** X-Spam-Status: No, score=3.426 tagged_above=-999 required=6.31 tests=[FUZZY_AMBIEN=1.851, HTML_MESSAGE=2, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-1.426, TVD_FW_GRAPHIC_NAME_MID=0.001] autolearn=disabled Received: from mx2-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id CEsZHtmzMBcF for ; Wed, 24 Aug 2016 06:45:16 +0000 (UTC) Received: from mail.tesicnor.com (mail.tesicnor.com [194.179.37.250]) by mx2-lw-eu.apache.org (ASF Mail Server at mx2-lw-eu.apache.org) with ESMTP id 1DD485F47A for ; Wed, 24 Aug 2016 06:45:16 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.tesicnor.com (Postfix) with ESMTP id 6210C178C7 for ; Wed, 24 Aug 2016 08:38:17 +0200 (CEST) X-Virus-Scanned: Debian amavisd-new at mailserver.tesicnor.com Received: from mail.tesicnor.com ([127.0.0.1]) by localhost (mail.tesicnor.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mASE3tqByjem for ; Wed, 24 Aug 2016 08:38:13 +0200 (CEST) Received: from [192.168.0.230] (mies-057.tesicnor.com [192.168.0.230]) (Authenticated sender: amaeztu@tesicnor.com) by mail.tesicnor.com (Postfix) with ESMTPSA id CC7CC173BF for ; Wed, 24 Aug 2016 08:38:10 +0200 (CEST) To: users@tomcat.apache.org From: Aritz Maeztu Subject: EL Stream API differing from Java's one Message-ID: Date: Wed, 24 Aug 2016 08:44:33 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="------------77B228D03BDD37F9971A1F00" archived-at: Wed, 24 Aug 2016 06:45:22 -0000 --------------77B228D03BDD37F9971A1F00 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 8bit I've already posted the issue in StackOverflow: http://stackoverflow.com/questions/39096941/does-tomcats-el-stream-api-make-sense Using Tomcat 8.0.30, I've implemented some EL accesses to the stream API. However, I've found that this expression: |#{testBean.values.stream().anyMatch(str ->str == 'Test1')} Returns a ||org.apache.el.stream.Optional type. Looking at the API documentation it also says that. However, in the standard Java Stream API this kind of method returns a boolean, which is the result of evaluating the Predicate and see if any object in the stream matches it.| -- Aritz Maeztu Otao Departamento Desarrollo de Software Pol. Ind. Mocholi. C/Rio Elorz, Nave 13E 31110 Noain (Navarra) Telf. Aritz Maeztu: 948 68 03 06 Telf. Secretara: 948 21 40 40 Antes de imprimir este e-mail piense bien si es necesario hacerlo: El medioambiente es cosa de todos. --------------77B228D03BDD37F9971A1F00 Content-Type: multipart/related; boundary="------------3CA8659CCF2EB39EA474ACB0" --------------3CA8659CCF2EB39EA474ACB0 Content-Type: text/html; charset=windows-1252 Content-Transfer-Encoding: 8bit

I've already posted the issue in StackOverflow: http://stackoverflow.com/questions/39096941/does-tomcats-el-stream-api-make-sense

Using Tomcat 8.0.30, I've implemented some EL accesses to the stream API. However, I've found that this expression:

#{testBean.values.stream().anyMatch(str -> str == 'Test1')}

Returns a org.apache.el.stream.Optional type. Looking at the API documentation it also says that.

However, in the standard Java Stream API this kind of method returns a boolean, 
which is the result of evaluating the Predicate and see if any object in the stream matches it.

--
Aritz Maeztu Otao
Departamento Desarrollo de Software

Pol. Ind. Mocholi. C/Rio Elorz, Nave 13E 31110 Noain (Navarra)
Telf. Aritz Maeztu: 948 68 03 06
Telf. Secretara: 948 21 40 40

Antes de imprimir este e-mail piense bien si es necesario hacerlo: El medioambiente es cosa de todos.
--------------3CA8659CCF2EB39EA474ACB0 Content-Type: image/gif; name="linkdin.gif" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="linkdin.gif" R0lGODlhHgAeAHcAMSH+GlNvZnR3YXJlOiBNaWNyb3NvZnQgT2ZmaWNlACH5BAEAAAAALAAA AAAeAB4AhwAAAAB/swF1tgJ1tAJ0sgJ0swF2twFzsgJ2tgBysgBzsgBsrgBusAFysgVzswBs rxZ9uABxsQFzswFvsABtsABurwJwsQBtrwBwsABzswBvsABwsQBqrgBmqwBnrAJ1sxZ/uQBv sQt5tgBrrgF0sxB7tw97twBorAp2tApzswBlqxB8tw57twFvsQh3tQFusBR+uAFxsQJzsQF1 tAB/uwF2tgF2tQJ+wxiAuh6DuyyLvySHvSqHviCEvCaHvieIvimJvyiJvjeRwzeQwjqSxDmS xDqTxC+NwD+WxU6eykCVxUiayEOXxlGgy1ulzlSgy1Ohy1ymzlOgy3q213y32H642Gar0Wyu 03+42H+52X242Ia82oe924W82oK72YG62YO72YzA3I7A3J7J4p3J4pbF4KnQ5bbX6bnY6rjY 6rLV6MDc7MXf7cbf7t7t9c7l8drq9NPn8tjq89Lm8d3s9dnq9OPw9+/2+vf7/eTw9+jx+ODu 9vj7/fD4+/b6/P7+//z9/v39/ufx+P///wECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwECAwEC AwECAwECAwECAwECAwECAwECAwj/AAEAGECggMGDCBMqLEBggAGBNxBInEixosWKNw4QQIAw gYKFIBMiILDRYIIFChgwCMlyZMkGDqasMaNjJcuFLjk+oDKopxsIEW4qzJmgwJuePZM8ECqS JAIJE84gHSSEAlOEOQtUGGKnZxgLEq4ezFrgAo4mRDAULZBBQluTGjRs+IjVqcEIHDp4WPkh gUoGGhQsOJBjB4gQF+qWvOAETRo0Y0SMKOIYDRkST9jcwZNHjZILJAxm5bAFqZ4SHqAg3cNl ak8+SxaItjuiClI4Jk4kQcrHNdI4KIpmrX079+6pfdrIcW0k8XDbPXHrnjqHB4UUZaZaGVHg efHpSKOozlAwoocfpFW4e49uHOmfIysjrKCDtIt62tAHST8+CJCP+CzUgdQW95VEHHvg9fdD fCbAMWCBHB2oX3s9AbJgARE0+GB3+H3Hn4UMOtgTgRwamN9+SIGIoYYjQliAhCj2FMiFGYo4 CImjdYGUIKhJMRUQ8ZUgCFJicFAiRy0g4UUVX1zhwgtBeIFFFlrAEEMBDbhwxRdVgMFECxzK wNEHG4xg5gMkfBCBmWbSVQAJD7CpwQfdyVCSWC0RMENEF/XpJwI3zABADQThqVBDAgUEADs= --------------3CA8659CCF2EB39EA474ACB0 Content-Type: image/png; name="logo.png" Content-Transfer-Encoding: base64 Content-ID: Content-Disposition: inline; filename="logo.png" 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 gAAAAABJRU5ErkJggg== --------------3CA8659CCF2EB39EA474ACB0-- --------------77B228D03BDD37F9971A1F00--