[TEEDA-494] publicプロパティのListの総称型にワイルドカードを指定するとポストバック時にNullPointerExceptionが発生する Created: 2009-01-05  Updated: 2009-01-06  Resolved: 2009-01-06

Status: Closed
Project: Teeda
Component/s: Teeda Extension
Affects Version/s: 1.0.13-sp4
Fix Version/s: None

Type: Bug Priority: Minor
Reporter: r_ikeda Assignee: Unassigned
Resolution: Won't Fix Votes: 0
Labels: None


 Description   

public class WelcomePage {
public List<?> aaaItems;

public void doHoge() {
}
}

というようなページクラスがあった場合にdoHogeのポストバック時にNullPointerExceptionが発生する。

・List<?>がPrivateでGetter/Setterがある場合は発生しない
・List<?>の総称型指定をしない場合は(public List aaaItems;)発生しない



 Comments   
Comment by koichik [ 2009-01-06 ]

Seasar2 の問題なので CONTAINER-326 として対応しました.
https://www.seasar.org/issues/browse/CONTAINER-326

Comment by r_ikeda [ 2009-01-05 ]

スタックトレースを貼ります。

2009-01-05 18:16:01,580 [http-8080-Processor24] DEBUG org.seasar.teeda.extension.util.TeedaExtensionErrorPageManagerImpl -
java.lang.NullPointerException
at org.seasar.framework.beans.impl.PropertyDescImpl.getElementClassOfCollection(PropertyDescImpl.java:339)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:96)
at org.seasar.teeda.extension.component.TForEach.getElementClass(TForEach.java:734)
at org.seasar.teeda.extension.component.TForEach.processUpdatesAllRows(TForEach.java:436)
at org.seasar.teeda.extension.component.TForEach.processUpdates(TForEach.java:413)
at javax.faces.component.ComponentUtil_.processAppropriatePhaseAction(ComponentUtil_.java:51)
at javax.faces.component.UIForm.processAppropriateAction(UIForm.java:85)
at javax.faces.component.UIForm.processUpdates(UIForm.java:68)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:446)
at javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:446)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:110)
at org.seasar.teeda.core.lifecycle.impl.UpdateModelValuesPhase.executePhase(UpdateModelValuesPhase.java:30)
at org.seasar.teeda.core.lifecycle.AbstractPhase.execute(AbstractPhase.java:57)
at org.seasar.teeda.core.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:92)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:100)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2ContainerFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.seasar.teeda.extension.filter.MultipartFormDataFilter.doFilter(MultipartFormDataFilter.java:83)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:613)

Generated at Sat Apr 27 03:59:05 JST 2024 using Jira 9.15.0#9150000-sha1:9ead8528714127d8cfabf2446010d7e62c0a195c.