Hi,

while trying profiling and debugging our application (which seems to have
some memory leak problems) I've found a strange thing in the constructor of
org.apache.wicket.Application.

When the object is constructed a new component instantiation listener is
created with this code:

                // Install default component instantiation listener that uses
                // authorization strategy to check component instantiations.
                addComponentInstantiationListener(new 
IComponentInstantiationListener()
                {
                        /**
                         * @see
org.apache.wicket.application.IComponentInstantiationListener#onInstantiation(org.apache.wicket.Component)
                         */
                        public void onInstantiation(final Component component)
                        {
                                // If component instantiation is not authorized
                                if 
(!Session.get().getAuthorizationStrategy().isInstantiationAuthorized(
                                        component.getClass()))
                                {
                                        // then call any unauthorized component 
instantiation
                                        // listener
                                        
getSecuritySettings().getUnauthorizedComponentInstantiationListener()
                                                
.onUnauthorizedInstantiation(component);
                                }
                        }
                });


But while having a look at the Session object I've found out that
getAuthorizationStrategy() is calling back Application:

        /**
         * @return The authorization strategy for this session
         */
        public IAuthorizationStrategy getAuthorizationStrategy()
        {
                return 
getApplication().getSecuritySettings().getAuthorizationStrategy();
        }


I wonder why it has been implemented in that way. Could this statement:

if
(!Session.get().getAuthorizationStrategy().isInstantiationAuthorized(component.getClass()))

be rewritten as:

if
(!getSecuritySettings().getAuthorizationStrategy().isInstantiationAuthorized(component.getClass()))

??

-Roberto



-- 
View this message in context: 
http://www.nabble.com/Strange-thing-in-Application-constructor-tp15786017p15786017.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to