2013-03-02 3 views
1

vaadin의 FilterTable addon을 사용하고 있습니다. 다음 코드에서 NullPointerException이 발생하지만 이유를 찾을 수 없습니다.인덱싱 된 컨테이너에서 널 포인터 예외가 발생했습니다.

는 라인 "cont.getContainerProperty (t_id, 속성) .setValue을 실행
cont = new IndexedContainer() 
    cont.addContainerProperty("Patient", String.class, null); 
    cont.addContainerProperty("Date Of Service", String.class,null); 
    cont.addContainerProperty("Provider", String.class, null); 

    Session session = HibernateUtil.getSessionFactory().openSession(); 
     Iterator<?> iterator = session.createQuery("FROM ConvertVisitToBillingV WHERE ready_for_billing = '0'").list().iterator(); 

     while(iterator.hasNext()){ 

       ConvertVisitToBillingV var = (ConvertVisitToBillingV) iterator.next(); 

       Visits v = (Visits) session.load(Visits.class, var.getVisitId()); 
       Appointments app = (Appointments)session.load(Appointments.class, v.getAppointmentId()); 
       t_id= var.getVisitId(); 
       cont.addItem(t_id); 
       Resources res = (Resources)session.load(Resources.class, v.getReferredBy()); 
       cont.getContainerProperty(t_id, "Patient").setValue(var.getFirstName() + " " + var.getLastName()); 
       cont.getContainerProperty(t_id, "Date Of Service").setValue(new SimpleDateFormat("MM/dd/yyyy").format(v.getVisitDt())); 
       cont.getContainerProperty(t_id, "Provider").setValue(res.getResourceFirstName()+" "+res.getResourceLastName()); 


      } 

() 그것은 때때로 NullPointerException이 발생합니다. 그 뒤에 이유를 받고하지 않습니다.이 뒤에 이유가 될 수 무엇

, 어떤 도움

감사

+2

이 스택 트레이스를 게시를하시기 바랍니다 – ben75

답변

0

자세한 내용은없이 나도 말할 것!!

  • v.getVisitDt()는 일부는`일부 v에 대한
  • session.load(Resources.class, v.getReferredBy()); 반환 널 (null)을 v`` 등 res가 null에 대한 null입니다.

이것은 아마도 문제가 해결됩니다 :

cont.getContainerProperty(t_id, "Patient").setValue(var.getFirstName() + " " + var.getLastName()); 
if(v.getVisitDt()!=null){ 
    cont.getContainerProperty(t_id, "Date Of Service").setValue(new SimpleDateFormat("MM/dd/yyyy").format(v.getVisitDt())); 
} else { 
    cont.getContainerProperty(t_id, "Date Of Service").setValue("?"); 
} 
if(res!=null){ 
    cont.getContainerProperty(t_id, "Provider").setValue(res.getResourceFirstName()+" "+res.getResourceLastName()); 
else{ 
    cont.getContainerProperty(t_id, "Provider").setValue("?"); 
} 
관련 문제