Hi i am trying tu use spring injection
like was written here

http://click.sourceforge.net/docs/extras-api/net/sf/click/extras/spring/SpringClickServlet.html

my web.xml is
<?xml version="1.0" ?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd";
        version="2.4">

        <display-name>security-sample-app</display-name>

        <context-param>
                <param-name>contextConfigLocation</param-name>
                <param-value>
                        classpath*:META-INF/application-context.xml,
                        classpath*:META-INF/security-context.xml
                </param-value>
        </context-param>


    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>
                /WEB-INF/classes/log4j.xml
        </param-value>
    </context-param>


        <!-- Spring Security integration code -->
        <filter>
                <filter-name>springSecurityFilterChain</filter-name>
        
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        </filter>

        <filter-mapping>
                <filter-name>springSecurityFilterChain</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>

         
        <servlet>
                <servlet-name>ClickServlet</servlet-name>
                <servlet-class>org.apache.click.ClickServlet</servlet-class>
                <load-on-startup>0</load-on-startup>
        </servlet>
        

        <listener>
       
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    
    <listener>
       
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>
    
    
    <servlet>
       <servlet-name>SpringClickServlet</servlet-name>
      
<servlet-class>org.apache.click.extras.spring.SpringClickServlet</servlet-class>
       <load-on-startup>0</load-on-startup>
    </servlet>
    
    
        <servlet-mapping>
                <servlet-name>SpringClickServlet</servlet-name>
                <url-pattern>*.htm</url-pattern>
        </servlet-mapping>

        <welcome-file-list>
                <welcome-file>redirect.html</welcome-file>
        </welcome-file-list>

        <error-page>
                <error-code>403</error-code>
                <location>/accessDenied.jsp</location>
        </error-page>

</web-app>

my java class


public class AdminPage extends BorderPage {
        
        private Logger logger = getLogger(getClass()); 
        private Functions functions;
        
        public void setFunctions(Functions functions) {
                this.functions = functions;
        }
    
        @SuppressWarnings("unchecked")
        public AdminPage() {
                
                if (hasPermission(Permission.LOGIN)) {
                        logger.error("rules for user :" + getUserName());
                        logger.error("text" + functions.getTextas());
                }
            getModel().put("title", getUserName() );
        }
}

and i have a line in my application-context.xml

<bean id="functions" class="security.database.FunctionsImpl"></bean>
and my error is here

[Click] [debug] GET http://localhost:8080/test1/admin.htm
15:56:50 ERROR            AdminPage: rules for user :s28867
[Click] [error] handleException: java.lang.RuntimeException:
java.lang.NullPointerException
        at org.apache.click.ClickServlet.initPage(ClickServlet.java:1018)
        at org.apache.click.ClickServlet.createPage(ClickServlet.java:828)
        at org.apache.click.ClickServlet.handleRequest(ClickServlet.java:323)
        at org.apache.click.ClickServlet.doGet(ClickServlet.java:253)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:277)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
        at
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
        at
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183)
        at
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
        at security.page.AdminPage.<init>(AdminPage.java:22)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
        at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
        at java.lang.Class.newInstance0(Class.java:355)
        at java.lang.Class.newInstance(Class.java:308)
        at
org.apache.click.extras.spring.SpringClickServlet.newPageInstance(SpringClickServlet.java:309)
        at org.apache.click.ClickServlet.initPage(ClickServlet.java:969)
        ... 44 more
[Click] [trace]    invoked: ErrorPage.onSecurityCheck() : true
[Click] [trace]    invoked: ErrorPage.onInit()
[Click] [trace]    invoked: ErrorPage.onGet()
[Click] [trace]    invoked: ErrorPage.onRender()
[Click] [info ]    renderTemplate: /click/error.htm - 15 ms
[Click] [trace]    invoked: ErrorPage.onDestroy()


can anybody help how to inject that Functions interface into my Click page?

-- 
View this message in context: 
http://n2.nabble.com/problem-with-spring-injection-tp3049285p3049285.html
Sent from the click-user mailing list archive at Nabble.com.

Reply via email to