[Building Sakai] NotSerializableException Error

Claudia Roberta claudia.icmc at gmail.com
Wed Nov 27 05:22:26 PST 2013


Hi Guys,

I added in SelectItem value an object, but the following error occurs:
java.io.

NotSerializableException.

SelectItem item = new SelectItem();

 *item.setValue(myObjectVO);*


MyObjectVO implements Serializable.


Any Idea?



Thanks,


Claudia





More details:


     *MyObjectVO.java*

        public class MyObjectVO implements Serializable {


               private static final long serialVersionUID = 1L;

...



*Web.xml: *

<context-param>


<param-name>javax.faces.STATE_SAVING_METHOD</param-name>

                               <param-value>client</param-value>

                </context-param>



                <context-param>


<param-name>org.apache.myfaces.SERIALIZE_STATE_IN_SESSION</param-name>

                               <param-value>false</param-value>

                </context-param>



                <context-param>


<param-name>org.apache.myfaces.COMPRESS_STATE_IN_SESSION</param-name>

                                 <param-value>false</param-value>

                </context-param>



<context-param>


<param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name>


<param-value>org.apache.myfaces.component.html.util.StreamingAddResource</param-value>

                 </context-param>



·         *SelectMyObject.jsp:*



<t:selectManyCheckbox value="#{MyBean. selectedMyObjects }" layoutWidth="3"
*converter="ObjectConverter"*>

                     <f:selectItems value="#{ MyBean.mySelectedObjects}"/>

</t:selectManyCheckbox>



·         *Faces-config.xml:*



<converter>

                               <converter-id>ObjectConverter</converter-id>


<converter-class>br.Mytool.util.ObjectConverter</converter-class>

                </converter>



·         *MyBackingBean.java:*



private List<MyObjectVO> selectedMyObjects = new ArrayList< MyObjectVO >();



                public List< MyObjectVO > getSelectedMyObjects () {

                               return selectedMyObjects;

                }

                public void setSelectedMyObjects (List< MyObjectVO >
electedMyObjects) {

                               this. selectedMyObjects= selectedMyObjects;

                }



              private List<SelectItem> mySelectedObjects;



                public List<SelectItem> getMySelectedObjects () {

                               return mySelectedObjects;

                }



                public void setMySelectedObjects (List<SelectItem>
mySelectedObjects) {

                               this.mySelectedObjects = mySelectedObjects;

                }



             public String selectMyObject(){



                            selectedMyObjects = new ArrayList< MyObjectVO
>();



                               mySelectedObjects = new
ArrayList<SelectItem>();



                               for (Iterator iterator =
listAllMyObjects.iterator(); iterator.hasNext();) {



                                       MyObjectVO myObjectVO = (MyObjectVO)
iterator.next();



                                       if (myObjectVO!= null) {




                                               SelectItem item = new
SelectItem();

                                               *item.setValue(myObjectVO);*


item.setLabel(myObjectVO.getName());




mySelectedObjects.add(item);

                                         }


                               }

                               return “selectMyObjectPage”

                }



·         *ObjectConverter.java*



import java.util.List;

import java.util.Map;



import javax.faces.component.UIComponent;

import javax.faces.component.UISelectItems;

import javax.faces.context.FacesContext;

import javax.faces.convert.Converter;

import javax.swing.text.html.Option;



public class ObjectConverter  implements Converter {



        public Object getAsObject(FacesContext ctx, UIComponent component,
String value) {

            if (value != null) {

                return this.getAttributesFrom(component).get(value);

            }

            return null;

        }



        public String getAsString(FacesContext ctx, UIComponent component,
Object value) {



            if (value != null  && !"".equals(value)) {



                MyObjectVO entity = (MyObjectVO) value;



                // adiciona item como atributo do componente

                this.addAttribute(component, entity);



                Long codigo = entity.getIdMyObjectVO ();

                if (codigo != null) {

                    return String.valueOf(*codigo*);

                }

            }



            return (String) value;

        }



        protected void addAttribute(UIComponent component, MyObjectVO o) {

            String key = o. getIdMyObjectVOtoString();

            this.getAttributesFrom(component).put(key, o);

        }



        protected Map<String, Object> getAttributesFrom(UIComponent
component) {

            return component.getAttributes();

        }



}



*Error:*


org.sakaiproject.portal.api.PortalHandlerException:
org.sakaiproject.tool.api.ToolException: javax.servlet.ServletException:
javax.faces.FacesException: java.io.NotSerializableException:
br.Mytool.model. MyObjectVO

    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)

caused by: org.sakaiproject.tool.api.ToolException:
javax.servlet.ServletException: javax.faces.FacesException:
java.io.NotSerializableException: br.Mytool.model. MyObjectVO

    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)

caused by: javax.servlet.ServletException: javax.faces.FacesException:
java.io.NotSerializableException: br.Mytool.model. MyObjectVO

    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

caused by: javax.faces.FacesException: javax.faces.FacesException:
java.io.NotSerializableException: br.Mytool.model. MyObjectVO

    at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)

caused by: org.apache.jasper.JasperException: javax.faces.FacesException:
java.io.NotSerializableException: br br.Mytool.model. MyObjectVO

    at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:429)

caused by: javax.faces.FacesException: java.io.NotSerializableException:
br.Mytool.model. MyObjectVO

    at
org.apache.myfaces.shared_impl.util.StateUtils.construct(StateUtils.java:154)

caused by: java.io.NotSerializableException: br.Mytool.model. MyObjectVO

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.HashMap.writeObject(HashMap.java:1039)

    at sun.reflect.GeneratedMethodAccessor559.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.ArrayList.writeObject(ArrayList.java:569)

    at sun.reflect.GeneratedMethodAccessor561.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.ArrayList.writeObject(ArrayList.java:569)

    at sun.reflect.GeneratedMethodAccessor561.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.ArrayList.writeObject(ArrayList.java:569)

    at sun.reflect.GeneratedMethodAccessor561.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.ArrayList.writeObject(ArrayList.java:569)

    at sun.reflect.GeneratedMethodAccessor561.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at java.util.ArrayList.writeObject(ArrayList.java:569)

    at sun.reflect.GeneratedMethodAccessor561.invoke(null:-1)

    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:592)

    at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)

    at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)

    at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)

    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)

    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)

    at
org.apache.myfaces.shared_impl.util.StateUtils.getAsByteArray(StateUtils.java:184)

    at
org.apache.myfaces.shared_impl.util.StateUtils.construct(StateUtils.java:154)

    at
org.apache.myfaces.renderkit.html.HtmlResponseStateManager.writeState(HtmlResponseStateManager.java:88)

    at
org.apache.myfaces.application.jsp.JspStateManagerImpl.writeState(JspStateManagerImpl.java:398)

    at org.apache.myfaces.taglib.core.ViewTag.doAfterBody(ViewTag.java:150)

    at org.apache.jsp.
SelectMyObject_jsp._jspx_meth_f_005fview_005f0(SelectMyObject _jsp.java:191)

    at org.apache.jsp. SelectMyObject _jsp._jspService(SelectMyObject
_jsp.java:132)

    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

    at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)

    at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)

    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)

    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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)

    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)

    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)

    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

    at
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)

    at
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)

    at
org.sakaiproject.jsf.app.SakaiViewHandler.renderView(SakaiViewHandler.java:137)

    at
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)

    at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)

    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)

    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:571)

    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.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)

    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)

    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)

    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

    at org.sakaiproject.jsf.util.JsfTool.dispatch(JsfTool.java:221)

    at org.sakaiproject.jsf.util.JsfTool.doGet(JsfTool.java:241)

    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.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)

    at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)

    at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:364)

    at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)

    at
org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:486)

    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1216)

    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doTool(ToolHandler.java:195)

    at
org.sakaiproject.portal.charon.handlers.ToolHandler.doGet(ToolHandler.java:94)

    at
org.sakaiproject.portal.charon.SkinnableCharonPortal.doGet(SkinnableCharonPortal.java:768)

    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.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:634)

    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

    at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

    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:230)

    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)

    at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)

    at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)

    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)

    at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)

    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)

    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)

    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:595)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20131127/1559047c/attachment.html 


More information about the sakai-dev mailing list