You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2011/12/01 20:45:19 UTC
svn commit: r1209211 - in /wicket/trunk: ./ wicket-core/
wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java
Author: ivaynberg
Date: Thu Dec 1 19:45:18 2011
New Revision: 1209211
URL: http://svn.apache.org/viewvc?rev=1209211&view=rev
Log:
imroved inconsistency detection in choice components
Modified:
wicket/trunk/ (props changed)
wicket/trunk/wicket-core/ (props changed)
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java
Propchange: wicket/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 1 19:45:18 2011
@@ -1,3 +1,4 @@
/wicket/branches/wicket-1.4.x:963681,1027877
+/wicket/branches/wicket-1.5.x:1209203
/wicket/sandbox/jthomerson/experimental/wicket-devutils:760296-760351,760353-760355
/wicket/trunk/wicket-devutils:760352
Propchange: wicket/trunk/wicket-core/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Dec 1 19:45:18 2011
@@ -1,5 +1,6 @@
/wicket/branches/wicket-1.3.x/jdk-1.4/wicket:653208,653212,653215,653226,653231,654304,655446,655466,655786,658141,658189,659118,659120,662360,663058,671549,671885,687144-688996,698530-698577,701132-701133,701843,701850-701877,704231,708127,722099-722105,726536,728467-728490,731960,734478,739647,739951,745468-745497,749817,755171-755176,759905,760374,764756,769389,769440,774373,781715,781719,790879
/wicket/branches/wicket-1.4.x/wicket:963681,998663,1005194-1005196,1005201,1005205,1024347,1027877
+/wicket/branches/wicket-1.5.x/wicket-core:1209203
/wicket/sandbox/jthomerson/experimental/wicket-devutils/wicket:760296-760351,760353-760355
/wicket/trunk/wicket:1005201
/wicket/trunk/wicket-devutils/wicket:760352
Modified: wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java?rev=1209211&r1=1209210&r2=1209211&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java (original)
+++ wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/AbstractSingleSelectChoice.java Thu Dec 1 19:45:18 2011
@@ -22,6 +22,8 @@ import org.apache.wicket.Localizer;
import org.apache.wicket.model.IModel;
import org.apache.wicket.util.string.AppendingStringBuffer;
import org.apache.wicket.util.string.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -37,6 +39,7 @@ import org.apache.wicket.util.string.Str
public abstract class AbstractSingleSelectChoice<T> extends AbstractChoice<T, T>
{
private static final long serialVersionUID = 1L;
+ private static final Logger logger = LoggerFactory.getLogger(AbstractSingleSelectChoice.class);
/** String to display when the selected value is null and nullValid is false. */
private static final String CHOOSE_ONE = "Choose One";
@@ -191,6 +194,20 @@ public abstract class AbstractSingleSele
if (object != null)
{
int index = getChoices().indexOf(object);
+
+ if (index < 0)
+ {
+ // the model is returning a choice that is not in the available choices collection
+
+ logger.warn(
+ "Detected inconsistency in choice component: {}/{}. Model returned object: {}, but this object is not available in the list of selected objects.",
+ new Object[] { getPage().getClass(), getPageRelativePath(), object });
+
+ // pretend like nothing is selected
+
+ return "";
+ }
+
return getChoiceRenderer().getIdValue(object, index);
}
else