Yep, Injection works only in page and component classes that live the
ordinary Page or component lifecycle, and are requested from the web. :)

Move the session to a real page and have that util to take the session as
parameter, or even better move your logic to service that a page can use.
(SecurityService perhaps?)

 - 99


Sven Homburg wrote:
> 
> its look like, that your Security class is only a helper class
> and no page component.
> 
> in such classes the @Inject annotation doesnt work
> 
> 2008/7/28 <[EMAIL PROTECTED]>
> 
>> Ok, I have just checked. I have mysql-connector-java-5.1.5.jar in the
>> maven
>> repository.
>>
>>
>> Code is:
>> -----------------------------------------
>> package uk.bl.dlportal.pages.util;
>>
>> import java.util.List;
>>
>> import org.apache.tapestry5.ioc.annotations.Inject;
>> import org.hibernate.Criteria;
>> import org.hibernate.Query;
>> import org.hibernate.Session;
>>
>>
>> import uk.bl.dlportal.entities.User;
>>
>>
>> public class Security
>> {
>>        @Inject
>>    private Session session;
>>
>>        private final static Security security = new Security();
>>
>>
>>        public User authenticate(String userName, String password)
>>        {
>>                System.out.println("SESSION ************************
>> "+session);
>>
>>                Criteria c = session.createCriteria(User.class);
>>
>>                List result = c.list();
>>
>>                System.out.println("SESSION ************************
>> "+session);
>>
>>                return null;
>>        }
>>
>>        public static Security getSecurity()
>>        {
>>                return security;
>>        }
>> }
>>
>>
>> Stack trace is:
>> ------------------------------------
>> 84.73% unrealized services (111/131)
>>
>> [INFO] mortbay.log Started [EMAIL PROTECTED]:8080
>> [DEBUG] AppModule.TimingFilter Creating service 'TimingFilter'.
>> [DEBUG] AppModule.TimingFilter Invoking method
>> uk.bl.dlportal.services.AppModule.buildTimingFilter(Logger) (at
>> AppModule.java:71).
>> [INFO] AppModule.TimingFilter Request time: 4846 ms
>> [INFO] AppModule.TimingFilter Request time: 0 ms
>> [INFO] AppModule.TimingFilter Request time: 16 ms
>> SESSION ************************ null
>> [INFO] AppModule.TimingFilter Request time: 251 ms
>> [ERROR] TapestryModule.RequestExceptionHandler Processing of request
>> failed
>> with uncaught
>> exception: org.apache.tapestry5.runtime.ComponentEventException
>> org.apache.tapestry5.runtime.ComponentEventException [at
>> context:Index.tml,
>> line 7,
>> column 28]
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1042)
>>        at
>>
>> org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:67)
>>        at
>>
>> org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
>>        at
>>
>> $ComponentEventRequestHandler_11b68bd5062.handle($ComponentEventRequestHandler_11b68bd5062.java)
>>        at
>> org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
>>        at
>>
>> $ComponentEventRequestHandler_11b68bd5062.handle($ComponentEventRequestHandler_11b68bd5062.java)
>>        at
>> org.apache.tapestry5.services.TapestryModule$37.handle(TapestryModule.java:1987)
>>        at
>>
>> $ComponentEventRequestHandler_11b68bd5062.handle($ComponentEventRequestHandler_11b68bd5062.java)
>>        at
>>
>> $ComponentEventRequestHandler_11b68bd500b.handle($ComponentEventRequestHandler_11b68bd500b.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:135)
>>        at $Dispatcher_11b68bd500e.dispatch($Dispatcher_11b68bd500e.java)
>>        at $Dispatcher_11b68bd5000.dispatch($Dispatcher_11b68bd5000.java)
>>        at
>> org.apache.tapestry5.services.TapestryModule$12.service(TapestryModule.java:938)
>>        at uk.bl.dlportal.services.AppModule$1.service(AppModule.java:84)
>>        at
>> $RequestFilter_11b68bd4fff.service($RequestFilter_11b68bd4fff.java)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:586)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93)
>>        at
>>
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:84)
>>        at
>>
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:75)
>>        at
>>
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
>>        at
>> $RequestHandler_11b68bd5001.service($RequestHandler_11b68bd5001.java)
>>        at
>> $RequestHandler_11b68bd4ff8.service($RequestHandler_11b68bd4ff8.java)
>>        at
>> org.apache.tapestry5.services.TapestryModule$11.service(TapestryModule.java:918)
>>        at
>>
>> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
>>        at
>>
>> $HttpServletRequestFilter_11b68bd4ff7.service($HttpServletRequestFilter_11b68bd4ff7.java)
>>        at
>>
>> $HttpServletRequestHandler_11b68bd4ff9.service($HttpServletRequestHandler_11b68bd4ff9.java)
>>        at
>>
>> $HttpServletRequestHandler_11b68bd4ff6.service($HttpServletRequestHandler_11b68bd4ff6.java)
>>        at
>> org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:168)
>>        at
>>
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
>>        at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
>>        at
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
>>        at
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
>>        at
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722)
>>        at
>> org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>>        at
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>>        at org.mortbay.jetty.Server.handle(Server.java:324)
>>        at
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>>        at
>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
>>        at
>> org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>>        at
>> org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>>        at
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
>>        at
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>> Caused by: org.apache.tapestry5.runtime.ComponentEventException [at
>> context:Index.tml,
>> line 7, column 28]
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1042)
>>        at
>>
>> org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.triggerContextEvent(InternalComponentResourcesImpl.java:182)
>>        at
>> org.apache.tapestry5.corelib.components.Form._$advised$onAction(Form.java:351)
>>        at
>>
>> org.apache.tapestry5.corelib.components.Form$onAction$invocation_11b68bd8243.invokeAdvisedMethod(Form$onAction$invocation_11b68bd8243.java)
>>        at
>>
>> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:71)
>>        at
>> org.apache.tapestry5.ioc.internal.services.LoggingAdvice.advise(LoggingAdvice.java:37)
>>        at
>> org.apache.tapestry5.internal.transform.LogWorker$1.advise(LogWorker.java:54)
>>        at
>>
>> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:80)
>>        at
>> org.apache.tapestry5.corelib.components.Form.onAction(Form.java)
>>        at
>> org.apache.tapestry5.corelib.components.Form.dispatchComponentEvent(Form.java)
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:872)
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025)
>>        ... 50 more
>> Caused by: java.lang.NullPointerException
>>        at
>> uk.bl.dlportal.pages.util.Security.authenticate(Security.java:26)
>>        at uk.bl.dlportal.pages.Index.onSubmitFromLoginForm(Index.java:27)
>>        at uk.bl.dlportal.pages.Index.dispatchComponentEvent(Index.java)
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:864)
>>        at
>>
>> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1025)
>>        ... 61 more
>>
>>
>>
>>
>> Quoting 9902468 <[EMAIL PROTECTED]>:
>>
>> [Hide Quoted Text]
>>
>>
>> Check also that you have the mysql-connector-java-5.1.6.jar or similar in
>> your libraries.
>>
>> I have the following list:
>> FieldValidatorSource: DEFINED
>>                                  FormDAO: DEFINED
>>                              FormSupport: DEFINED
>>                        FreeMarkerService: DEFINED
>>                           FulfillmentDAO: DEFINED
>>                         GoogleMapService: DEFINED
>>            HibernateEntityPackageManager: DEFINED
>>                  HibernateSessionManager: DEFINED
>>                   HibernateSessionSource: DEFINED
>>            HibernateTransactionDecorator: DEFINED
>>                 HiddenFieldLocationRules: DEFINED
>>                                 HiveMind: DEFINED
>>                       HttpServletRequest: DEFINED
>>                HttpServletRequestHandler: VIRTUAL
>>                       IgnoredPathsFilter: DEFINED
>>
>> So that one should be ok. Is the page that you are testing with _really_
>> calling session.something? Tapestry lazy loads everything so Hibernate is
>> not really initialized without the call. Can we have the stack trace?
>>
>> - 99
>>
>>
>>
>> photos-4 wrote:
>>
>> Quoting 9902468 <[EMAIL PROTECTED]>:
>>
>> Is the hibernate service initialized at all? When Tapestry starts it
>> lists
>> all known services, is Hibernate in that list?
>>
>> - 99
>>
>> It looks like it:
>>
>> ...
>>                    FieldValidationSupport: DEFINED
>>               FieldValidatorDefaultSource: DEFINED
>>                      FieldValidatorSource: DEFINED
>>                               FormSupport: DEFINED
>>             HibernateEntityPackageManager: DEFINED
>>                   HibernateSessionManager: DEFINED
>>                    HibernateSessionSource: DEFINED
>>             HibernateTransactionDecorator: DEFINED
>>                  HiddenFieldLocationRules: DEFINED
>>                        HttpServletRequest: DEFINED
>>                 HttpServletRequestHandler: VIRTUAL
>>                        IgnoredPathsFilter: DEFINED
>>                         InjectionProvider: DEFINED
>>                    InternalRequestGlobals: VIRTUAL
>>                               LinkFactory: DEFINED
>> ...
>>
>>
>> I still haven't figured out what is going on. I see no evidence of
>> Hibernate ever being called. Are any Hibernate services missing from
>> the above list?
>>
>> p.
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/-T5-%3A-Hibernate-question-tp18634071p18685754.html
>> Sent from the Tapestry - User mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> 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]
>>
>>
> 
> 
> -- 
> with regards
> Sven Homburg
> http://tapestry5-components.googlecode.com
> http://chenillekit.googlecode.com
> 
> 
> -----
> best regards
> Sven
> 

-- 
View this message in context: 
http://www.nabble.com/-T5-%3A-Hibernate-question-tp18634071p18686443.html
Sent from the Tapestry - User mailing list archive at Nabble.com.


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

Reply via email to