Note that there are some explanatory texts on larger screens.

plurals
  1. POPhoto size not getting updated in the database
    primarykey
    data
    text
    <p>I am trying insert the details of a picture in a database. Whenever I am submitting the data I am getting a null point exception on line 52 of my PictureBean, it showing that uploadedFile.getSize() is returning null. Other details of picture are not causing any problem.</p> <p>Here is my xhtml file</p> <pre><code>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"&gt; &lt;h:head&gt;Add Photo&lt;/h:head&gt; &lt;h:form enctype="multipart/form-data"&gt; &lt;h:panelGrid columns="2"&gt; &lt;h:outputText value="Photo"/&gt; &lt;p:fileUpload fileUploadListener="#{pictureBean.handleFileUpload}"/&gt; &lt;h:outputText value="Picture ID: " /&gt; &lt;p:inputText styleClass="outputLabel" value="#{pictureBean.picture.pictureId}" /&gt; &lt;h:outputText value="Picture Name: " /&gt; &lt;p:inputText styleClass="outputLabel" value="#{pictureBean.picture.pictureName}" /&gt; &lt;h:outputText value="Picture Details: " /&gt; &lt;p:inputText styleClass="outputLabel" value="#{pictureBean.picture.pictureDetails}" /&gt; &lt;h:outputText value="Album ID: " /&gt; &lt;p:inputText styleClass="outlabel" value="#{pictureBean.picture.albumId}"/&gt; &lt;p:commandButton value="Add Photo" action="#{pictureBean.save}"/&gt; &lt;/h:panelGrid&gt; &lt;/h:form&gt; &lt;/html&gt; </code></pre> <p>Here is my PictureBean</p> <pre><code>package com.bean; import javax.faces.context.FacesContext; import javax.faces.event.PhaseId; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.servlet.http.HttpSession; import org.primefaces.event.FileUploadEvent; import org.primefaces.model.UploadedFile; import com.entity.Picture; import com.entity.User; public class PictureBean { Picture picture; private UploadedFile uploadedFile; private EntityManager em; public PictureBean(){ picture = new Picture(); EntityManagerFactory emf=Persistence.createEntityManagerFactory("FreeBird"); em =emf.createEntityManager(); } public Picture getPicture() { return picture; } public void setPicture(Picture picture) { this.picture = picture; } public void handleFileUpload(FileUploadEvent e) { System.out.println("file handler called"); uploadedFile = e.getFile(); String fileName=uploadedFile.getFileName(); fileName=fileName.substring(fileName.lastIndexOf("\\")+1); System.out.println(fileName); byte[] a = uploadedFile.getContents(); PhaseId currentPhaseId = FacesContext.getCurrentInstance().getCurrentPhaseId(); System.out.println("current phase id"+currentPhaseId); picture.setPicture(a); } public String save(){ FacesContext context = FacesContext.getCurrentInstance(); HttpSession session = (HttpSession) context.getExternalContext().getSession(true); User user = (User) session.getAttribute("userdet"); picture.setEmail(user.getEmail()); picture.setPictureSize(uploadedFile.getSize()); System.out.println("picture save called"); em.getTransaction().begin(); em.persist(picture); em.getTransaction().commit(); return "success"; } } </code></pre> <p>Here is the exception that I am getting.</p> <pre><code>WARNING: #{pictureBean.save}: java.lang.NullPointerException javax.faces.FacesException: #{pictureBean.save}: java.lang.NullPointerException at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118) at javax.faces.component.UICommand.broadcast(UICommand.java:315) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81) at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1550) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:343) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231) at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:860) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:757) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1056) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:229) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) at com.sun.grizzly.ContextTask.run(ContextTask.java:71) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) at java.lang.Thread.run(Thread.java:722) Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102) at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102) ... 36 more Caused by: java.lang.NullPointerException at com.bean.PictureBean.save(PictureBean.java:52) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.sun.el.parser.AstValue.invoke(AstValue.java:254) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:302) at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105) at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88) ... 37 more </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload