You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by wb...@Ensign-BickfordInd.com on 2002/07/01 21:35:02 UTC
Its back -> RE: Problem with Populate the way I want to use it...
Okay, I cleared all my compiled files and everything and now the problem
is back...
Here is the error that is displayed:
javax.servlet.ServletException
at
org.apache.struts.action.RequestProcessor.processException(RequestProces
sor.java:499)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:440)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
265)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1217)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:479)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:475)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
3)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:
368)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1012)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1107)
at java.lang.Thread.run(Thread.java:484)
root cause
java.lang.NullPointerException
at
com.ebind.plantsec.search.actionSearch.perform(actionSearch.java:98)
at org.apache.struts.action.Action.execute(Action.java:399)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
ocessor.java:438)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
265)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1217)
at
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:479)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:243)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:190)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:475)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:234
3)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:180)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherVa
lve.java:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:170)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468
)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:
368)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:564)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:174)
at
org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.ja
va:566)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:4
72)
at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at
org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.j
ava:1012)
at
org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:
1107)
at java.lang.Thread.run(Thread.java:484)
Here is the code that it happens in:
public static ArrayList getArrayList(Object target, ResultSet
resultSet) throws SQLException {
ResultSetMetaData metaData = resultSet.getMetaData();
int cols = metaData.getColumnCount();
ArrayList list = new ArrayList();
Class c = target.getClass();
String targetClass = c.getName();
Class factory = target.getClass();
while (resultSet.next()) {
HashMap map = new HashMap(cols,1);
map.put("id",resultSet.getString(1));
map.put("requestCreatedDate",resultSet.getDate(2));
map.put("employeeFirstName",resultSet.getString(3));
map.put("employeeLastName",resultSet.getString(4));
map.put("employeeContactInfo",resultSet.getString(5));
map.put("vendorCompanyName",resultSet.getString(6));
map.put("vendorEmployeeName",resultSet.getString(7));
map.put("campus",resultSet.getString(8));
map.put("startDate",resultSet.getDate(9));
map.put("endDate",resultSet.getDate(10));
map.put("accessAreas",resultSet.getString(11));
map.put("note",resultSet.getString(12));
try {
Object bean = factory.newInstance();
//BeanUtils.populate((com.ebind.plantsec.visitors.beanVisitorRequest)
bean,map);
// ----> This is the line it blows up on...
BeanUtils.populate(bean,map);
list.add(bean);
} catch (Exception e) {
e.printStackTrace();
throw new SQLException("RequestUtils.getArrayList: " +
e.toString());
}
}
return (list);
}
-----Original Message-----
From: Laird.Nelson [mailto:Laird.Nelson@FMR.COM]
Sent: Wednesday, June 26, 2002 3:16 PM
To: struts-user
Subject: RE: Problem with Populate the way I want to use it...
> -----Original Message-----
> From: wbchmura@Ensign-BickfordInd.com
> If I remove the cast then it blows up with an argument mismatch
> somewhere in the bowels of the beanutils...
>
> Class factory = target.getClass();
> Object bean = factory.newInstance();
> BeanUtils.populate(bean,map);
> list.add(bean);
>
> How can I fix this? I have this method in my base class so I want to
> keep it as generic as possible...
I know that Java reflection does not perform the same kind of method
search
that the JVM does. So when you look up a method with a signature like,
for
example, "foo(SubClass)", you will not find the "foo(BaseClass)" method.
Without digging, I'm going to hazard a guess that BeanUtils.populate()
relies on Java reflection to find the proper method, and hence does not
take
subtypes into account.
Cheers,
Laird
--
To unsubscribe, e-mail:
<ma...@jakarta.apache.org>
For additional commands, e-mail:
<ma...@jakarta.apache.org>
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>