Author: ivaynberg Date: Tue Nov 16 18:01:53 2010 New Revision: 1035716 URL: http://svn.apache.org/viewvc?rev=1035716&view=rev Log: warn when referencing session directly in property model
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java?rev=1035716&r1=1035715&r2=1035716&view=diff ============================================================================== --- wicket/trunk/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java (original) +++ wicket/trunk/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java Tue Nov 16 18:01:53 2010 @@ -25,6 +25,8 @@ import org.apache.wicket.WicketRuntimeEx import org.apache.wicket.util.lang.PropertyResolver; import org.apache.wicket.util.lang.PropertyResolverConverter; import org.apache.wicket.util.string.Strings; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Serves as a base class for different kinds of property models. By default, this class uses @@ -49,6 +51,8 @@ public abstract class AbstractPropertyMo IObjectClassAwareModel<T>, IPropertyReflectionAwareModel<T> { + private static final Logger logger = LoggerFactory.getLogger(AbstractPropertyModel.class); + /** * */ @@ -69,6 +73,14 @@ public abstract class AbstractPropertyMo throw new IllegalArgumentException("Parameter modelObject cannot be null"); } + if (modelObject instanceof Session) + { + logger.warn("It is not a good idea to reference the Session instance " + + "in models directly as it may lead to serialization problems. " + + "If you need to access a property of the session via the model use the " + + "page instance as the model object and 'session.attribute' as the path."); + } + target = modelObject; }