Author: ivaynberg
Date: Tue Nov 16 18:01:08 2010
New Revision: 1035715
URL: http://svn.apache.org/viewvc?rev=1035715&view=rev
Log:
warn when referencing session directly in models
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
URL:
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java?rev=1035715&r1=1035714&r2=1035715&view=diff
==============================================================================
---
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
(original)
+++
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/model/AbstractPropertyModel.java
Tue Nov 16 18:01:08 2010
@@ -26,6 +26,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
@@ -50,6 +52,8 @@ public abstract class AbstractPropertyMo
IObjectClassAwareModel<T>,
IPropertyReflectionAwareModel
{
+ private static final Logger logger =
LoggerFactory.getLogger(AbstractPropertyModel.class);
+
/**
*
*/
@@ -70,6 +74,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;
}