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 73F73200CBB for ; Tue, 4 Jul 2017 20:19:04 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 72022161CA5; Tue, 4 Jul 2017 18:19:04 +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 B8224161CA4 for ; Tue, 4 Jul 2017 20:19:03 +0200 (CEST) Received: (qmail 99156 invoked by uid 500); 4 Jul 2017 18:19:02 -0000 Mailing-List: contact commits-help@wicket.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@wicket.apache.org Delivered-To: mailing list commits@wicket.apache.org Received: (qmail 99147 invoked by uid 99); 4 Jul 2017 18:19:02 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Jul 2017 18:19:02 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 8991E181819 for ; Tue, 4 Jul 2017 18:19:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -100.002 X-Spam-Level: X-Spam-Status: No, score=-100.002 tagged_above=-999 required=6.31 tests=[RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id 3qKtFYLQqCab for ; Tue, 4 Jul 2017 18:19:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 185615F39D for ; Tue, 4 Jul 2017 18:19:01 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 4EACCE0059 for ; Tue, 4 Jul 2017 18:19:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 0E19124602 for ; Tue, 4 Jul 2017 18:19:00 +0000 (UTC) Date: Tue, 4 Jul 2017 18:19:00 +0000 (UTC) From: "Kamil (JIRA)" To: commits@wicket.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (WICKET-6412) Model#orElse behavior is inconsistent! MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Tue, 04 Jul 2017 18:19:04 -0000 [ https://issues.apache.org/jira/browse/WICKET-6412?page=3Dcom.atlassia= n.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=3D160= 73986#comment-16073986 ]=20 Kamil commented on WICKET-6412: ------------------------------- I think, that the misunderstanding here is that you think about using Model= s in Wicket "internals" ("it defines methods to be called by components", "= make it easier to chain models") while we want to USE models in our applica= tion. For example: {code} @Override protected void onConfigure() { =09super.onConfigure(); =09if(isNull(model.getObject())){ =09=09setResponsePage(NotFoundPage.class); =09} } {code} > Model#orElse behavior is inconsistent! > -------------------------------------- > > Key: WICKET-6412 > URL: https://issues.apache.org/jira/browse/WICKET-6412 > Project: Wicket > Issue Type: Improvement > Affects Versions: 8.0.0-M6 > Reporter: Jaros=C5=82aw > Assignee: Sven Meier > > Dear Wicket Devs, > I was very confused by Model#orElse method. > Model and Optional have similar methods and these methods behave the same= : > {code} > Optional _optional =3D Optional.ofNullable("1").map(Integer::par= seInt); > IModel _model =3D Model.of("1").map(Integer::parseInt); > {code} > Unfortunately "orElse" behavior is totally confusing! > {code} > Integer integer =3D _optional.orElse(0); > IModel integerIModel =3D _model.orElse(0); //WRONG! > {code} > It should return a Model's Object instead of Model itself! > This definitely break the least surprise rule, so can you please change t= hat before Wicket8 final release? -- This message was sent by Atlassian JIRA (v6.4.14#64029)