wicket-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kamil (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (WICKET-6412) Model#orElse behavior is inconsistent!
Date Tue, 04 Jul 2017 18:19:00 GMT

    [ https://issues.apache.org/jira/browse/WICKET-6412?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16073986#comment-16073986
] 

Kamil commented on WICKET-6412:
-------------------------------

I think, that the misunderstanding here is that you think about using Models 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 application.
For example:
{code}
@Override
protected void onConfigure() {
	super.onConfigure();
	if(isNull(model.getObject())){
		setResponsePage(NotFoundPage.class);
	}
}
{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ław
>            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<Integer> _optional = Optional.ofNullable("1").map(Integer::parseInt);
> IModel<Integer> _model = Model.of("1").map(Integer::parseInt);
> {code}
> Unfortunately "orElse" behavior is totally confusing!
> {code}
> Integer integer = _optional.orElse(0);
> IModel<Integer> integerIModel = _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 that before Wicket8
final release?



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message