mmmm, i think it is possible.
In ApplicationStateManagerImpl newAdapter method you'd have to change
it's implementation so that the ApplicationStateCreator implementation
provided would work like now or if would always return null. Maybe i'm
over simplifying things, but it makes sense to me...
Kristian Marinkovic wrote:
hi hugo,
i think what you ask for is not possible because Tapestry 5 generates
proxies to access the ASOs. If you set it to null no proxy will be
available
to check whether there is a new instance in the session. You have the
same problem when you use Hibernate with lazy fields/lists. you always
see the proxies.
i'm not sure but all i can think of to implement your feature
request/improvemnt
would be to move the ASO logic into the pageAttached events.... but i
think this
would require some changes...
g
kris
Hugo Palma <[EMAIL PROTECTED]>
21.12.2007 14:11
Bitte antworten an
"Tapestry development" <[email protected]>
An
Tapestry development <[email protected]>
Kopie
Thema
Re: [jira] Created: (TAPESTRY-1991) It should be easy to initialize an ASO
to null
I know the workarounds, i just don't see the point in any of them.
This should be straight forward, i shouldn't have to use any workaround.
What's the downside of adding this behaviour to the ASO logic ?
Davor Hrg wrote:
a boolean value keeping score if the ASO was actually created is
needed to avoid creating expensive objects on sites with hundreds of
requests per second. Creating session data for users too early was
a killer for many apps in all web languages/scripts/frameworks.
instead forcing aso to be null, you can depend on properties inside it
you can chack if aso.user_data!=null
or have a boolean property for /logged in / not
Davor Hrg
On Dec 21, 2007 11:12 AM, Hugo Palma <[EMAIL PROTECTED]> wrote:
Yes, the default semantics is that it will only create the ASO instance
once you try to access it.
Still, it seems to me that many times this semantics doesn't really
make
sense, in the cases where the ASO being null has a meaning. The
simplest
case being for example when you want to keep as an ASO the logged user.
I know the docs say that you can keep a boolean value keeping score if
the ASO was actually created or not, but to me this seems to go against
everything T5 stands for. This kind of thing really should be easy.
Davor Hrg wrote:
I haven't checked it in practice, I belived what docs say:
http://tapestry.formos.com/nightly/tapestry5/tapestry-core/guide/appstate.html
I think the object will not be created if you do not try to access the
variable.
Davor Hrg
On Dec 20, 2007 4:36 PM, Hugo Palma (JIRA) <[email protected]>
wrote:
It should be easy to initialize an ASO to null
----------------------------------------------
Key: TAPESTRY-1991
URL:
https://issues.apache.org/jira/browse/TAPESTRY-1991
Project: Tapestry
Issue Type: Improvement
Components: Framework
Affects Versions: 5.0.6
Reporter: Hugo Palma
Priority: Minor
By default an ASO is never null. It's automatically created using the
ASO class default constructor.
It's many times needed to have the null value in an ASO, for example
if i want to keep the logged in user in an ASO.
Right now we can do this by contributing a new
ApplicationStateCreator to the ApplicationStateManager but it seems to me
that should be as easy as providing a parameter to the @ApplicationState
indicating that you don't want it to be automatically initialized.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]