Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I have two functions in my application and after executing queries got an exception

java.lang.ClassCastException: [Ljava.lang.Object; 
java.lang.ClassCastException: [Ljava.lang.Object;
    at org.openmrs.module.scheduler.impl.SchedulerDWR.fetchUserStatus(SchedulerDWR.java:2011)
    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:597)
    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:718)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openmrs.web.MyTimerFilter.doFilter(MyTimerFilter.java:69)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openmrs.web.filter.GZIPFilter.doFilterInternal(GZIPFilter.java:61)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openmrs.module.web.filter.ModuleFilterChain.doFilter(ModuleFilterChain.java:77)
    at org.openmrs.module.web.filter.ModuleFilter.doFilter(ModuleFilter.java:59)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.openmrs.web.filter.OpenmrsFilter.doFilterInternal(OpenmrsFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:97)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    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:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:111)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:865)
    at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
    at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1555)
    at java.lang.Thread.run(Thread.java:662)

These are functions 1

public int fetchUserStatus(String provider)
{
    try
    {
        SchedulerService hService = (SchedulerService)Context.getService(SchedulerService.class);

        List<ModuleUser> lst=hService.fetchUserStatus(id);

        for(ModuleUser m:lst)//exception  in this line
        {

            int userid=((ModuleUser) m).getUserId();
            if(userid==id)
            {
                status=((ModuleUser) m).getUserStatus();  
                System.out.println("Inside for"+status);
            }
        }

        System.out.println("status update"+status);

        return status;
    }
    catch(Exception e)
    {
        e.printStackTrace();
        return 2;
    }
}

FUNCTION 2

public List<ModuleUser> fetchUserStatus(int id) {
    try
    {
        session=sessionFactory.getCurrentSession();
        SQLQuery m=session.createSQLQuery("select * from users");

        return m.list();        
    }
    catch(Exception e)
    {
        e.printStackTrace();
        return null;
    }
}

Can anyone suggest what is the wrong with the code?

share|improve this question
1  
Also, please don't use tabs in code on Stack Overflow - it doesn't format well at all. –  Jon Skeet Sep 4 '13 at 9:00
 
You should provide the exception stack trace. –  Guillaume Sep 4 '13 at 9:02
 
java.lang.ClassCastException: [Ljava.lang.Object; at org.openmrs.module.scheduler.impl.SchedulerDWR.fetchUserStatus(SchedulerDWR.java‌​:2011) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.jav‌​a:25) at java.lang.reflect.Method.invoke(Method.java:597) –  sufala Sep 4 '13 at 9:08
add comment

2 Answers

up vote 1 down vote accepted

Is ModuleUser a mapped @Entity? If yes use HQL instead of native query

List<ModuleUser> users = session.createQuery("from ModuleUser").list()

Else if you are forced to native SQL use @aim solution

share|improve this answer
add comment

Raw query in this case returns scalar values:

List<Object[]>

where array contains raw columns from result query. Probably you want something like this:

 SQLQuery m=session.createSQLQuery("select * from users").addEntity(ModuleUser.class);
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.