You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2017/06/23 12:56:00 UTC

[jira] [Commented] (WICKET-6410) ChoiceRenderer getObject always calls IModel#getObject when id is null

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

Martin Grigorov commented on WICKET-6410:
-----------------------------------------

In which cases id is null or empty ?
I expect it will be null when you allow null value in the Choice component. But that means you will have N-1 SQL queries for all non-null ids. So there is some gain but it is minimal, right ?

> ChoiceRenderer getObject always calls IModel#getObject when id is null
> ----------------------------------------------------------------------
>
>                 Key: WICKET-6410
>                 URL: https://issues.apache.org/jira/browse/WICKET-6410
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket
>    Affects Versions: 7.1.0
>            Reporter: Fabian T.
>            Priority: Trivial
>
> {code:java}
> @Override
> 	public T getObject(String id, IModel<? extends List<? extends T>> choices)
> 	{
> 		List<? extends T> _choices = choices.getObject();
> 		for (int index = 0; index < _choices.size(); index++)
> 		{
> 			// Get next choice
> 			final T choice = _choices.get(index);
> 			if (getIdValue(choice, index).equals(id))
> 			{
> 				return choice;
> 			}
> 		}
> 		return null;
> 	}
> }
> {code}
> This Methode always calls „choices.getObject();”, even if the id is null or empty.
> In our project we got some bigger SQL Statements behind some getObject methods of different dropDownChoices. Avoiding to call getObject when the id is null or empty increases the performance.
> Feel free to correct me if I mess up something else with this fix.



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